03 2017 档案

摘要:虽然mvel吸收了大量的java语法,但作为一个表达式语言,还是有着很多重要的不同之处,以达到更高的效率,比如:mvel像正则表达式一样,有直接支持集合、数组和字符串匹配的操作符。 除了表达式语言外,mvel还提供了用来配置和构造字符串的模板语言。 mvel2.x表达式包含以下部分的内容:属性表达式 阅读全文
posted @ 2017-03-31 14:06 有梦就能实现 阅读(5715) 评论(0) 推荐(1) 编辑
摘要:缓存有利于网页的加载速度,但有时候,我们不希望页面被缓存,那如何在页面中声明呢?其实在HTML语言中,有现成的禁止缓存的方法,你只需在页面的<head></head>中加入以下几行声明代码即可:前端资源分享 .代码 <META HTTP-EQUIV="pragma" CONTENT="no-cach 阅读全文
posted @ 2017-03-31 10:38 有梦就能实现 阅读(2561) 评论(0) 推荐(0) 编辑
摘要:很多朋友都会碰到这样的情况:如果我们页面加载了js的话下次打开时也会是调用这个js缓存文件,但对于我们调试时是非常的不方便了,本文就来谈论如何解决这一问题,下面一起来看看。 不缓存JS的方法其实挺简单,CSS在某种条件下也可以如此使用; 先让大家了解下不缓存的一个简单的原理: 当浏览不同Url时,浏 阅读全文
posted @ 2017-03-31 10:28 有梦就能实现 阅读(13938) 评论(0) 推荐(0) 编辑
摘要:mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。 Atlas Atlas是由 Qi 阅读全文
posted @ 2017-03-29 17:03 有梦就能实现 阅读(2378) 评论(0) 推荐(0) 编辑
摘要:本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一 阅读全文
posted @ 2017-03-29 16:53 有梦就能实现 阅读(237) 评论(0) 推荐(0) 编辑
摘要:本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sharding缺少基本的了解,请参考我另一篇从基础理论全面介绍sharding的文章:数据库Shard 阅读全文
posted @ 2017-03-29 16:51 有梦就能实现 阅读(384) 评论(0) 推荐(0) 编辑
摘要:你们团队使用SpringMVC+Spring+JPA框架,快速开发了一个NB的系统,上线后客户订单跟雪花一样纷沓而来。 慢慢地,你的心情开始变差,因为客户和产品的抱怨越来越频繁,抱怨的最多的一个问题就是:系统越来越慢了。 1 常规优化 你组织团队,进行了一系列的优化。 1.1 数据表索引优化 经过初 阅读全文
posted @ 2017-03-29 16:14 有梦就能实现 阅读(2980) 评论(0) 推荐(0) 编辑
摘要:源码地址:http://git.oschina.net/xiaochangwei 阅读全文
posted @ 2017-03-29 16:10 有梦就能实现 阅读(2055) 评论(0) 推荐(0) 编辑
摘要:如何配置mysql数据库的主从? 单机配置mysql主从:http://my.oschina.net/god/blog/496 常见的解决数据库读写分离有两种方案 1、应用层 http://neoremind.net/2011/06/spring实现数据库读写分离 目前的一些解决方案需要在程序中手动 阅读全文
posted @ 2017-03-29 16:05 有梦就能实现 阅读(407) 评论(0) 推荐(0) 编辑
摘要:kingshard是一个由Go开发高性能MySQL Proxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQL分库分表操作;能够让DBA通过kingshard轻松平滑地实现MySQL数据库扩容。 kingshard的性能是直连MySQL性能的80%以上。 github地址: 阅读全文
posted @ 2017-03-29 15:52 有梦就能实现 阅读(747) 评论(0) 推荐(0) 编辑
摘要:场景:一个读数据源一个读写数据源。 原理:借助spring的【org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource】这个抽象类实现,看名字可以了解到是一个路由数据源的东西,这个类中有一个方法 每次去连数据库的时候,s 阅读全文
posted @ 2017-03-29 15:48 有梦就能实现 阅读(344) 评论(0) 推荐(0) 编辑
摘要:待会苹果要开发布会 我写完这篇文章就准备去看发布会了,因为我买了好几包瓜子和啤酒。由于苹果的保密做的越来越差劲,该曝光的信息差不多全部曝光了,我们这种熬夜看发布会的只不过是让这些信息更加真实,或者说是一种习惯了吧,因为每次苹果和锤子的发布会都必不可少的守着电脑看。 你要问我最期待什么新产品?可能是新 阅读全文
posted @ 2017-03-29 15:43 有梦就能实现 阅读(647) 评论(0) 推荐(0) 编辑
摘要:深刻讨论为什么要读写分离? 为了服务器承载更多的用户?提升了网站的响应速度?分摊数据库服务器的压力?就是为了双机热备又不想浪费备份服务器?上面这些回答,我认为都不是错误的,但也都不是完全正确的。「读写分离」并不是多么神奇的东西,也带不来多么大的性能提升,也许更多的作用的就是数据安全的备份吧。 从一个 阅读全文
posted @ 2017-03-29 15:42 有梦就能实现 阅读(282) 评论(0) 推荐(0) 编辑
摘要:现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用 阅读全文
posted @ 2017-03-29 15:40 有梦就能实现 阅读(155) 评论(0) 推荐(0) 编辑
摘要:mysql-proxy 简介 MySQL Proxy是一个处于你的client端和MySQL server端之间的简单程序,它可以监测、分析或改变它们的通信。它使用灵活,没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。 MySQL Proxy就是这么一个中间层代理,简单的说, 阅读全文
posted @ 2017-03-29 15:37 有梦就能实现 阅读(235) 评论(1) 推荐(0) 编辑
摘要:MySQL主从复制 首先,我们看一个图: 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B。 MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在 阅读全文
posted @ 2017-03-29 15:26 有梦就能实现 阅读(206) 评论(0) 推荐(0) 编辑
摘要:一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个 阅读全文
posted @ 2017-03-22 21:14 有梦就能实现 阅读(328) 评论(0) 推荐(0) 编辑
摘要:解耦设计手法小结 设计是一个平衡的产物,需要在各个约束条件下(组织目标,业务目标,开发流程,技术能力,学习及维护成本等)不断地进行演进。 我们虽然不提倡做大而全的设计,但会坚持进行基础性设计,以保证我们的设计一直在正确的方向上演进。设计演进的过程既可以是自上而下的,也可以是自下而上的。 基本设计原则 阅读全文
posted @ 2017-03-20 16:57 有梦就能实现 阅读(1361) 评论(0) 推荐(0) 编辑
摘要:架构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。 本文是漫谈架构专栏的第四篇,作者将会介绍架构的切分,并直戳切分的本质其实就是利益的调整。文中作者将会讨论为什么需要切分、切分的原则、切 阅读全文
posted @ 2017-03-20 16:50 有梦就能实现 阅读(172) 评论(0) 推荐(0) 编辑
摘要:阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DDD+GRASP进行分析和设计(防止主观的判断导致错误的假设) 5.SOA分布式下的数据一致性 5.1 阅读全文
posted @ 2017-03-20 16:43 有梦就能实现 阅读(275) 评论(0) 推荐(0) 编辑
摘要:如何针对当前需求,选择合适的应用架构,如何面向未来,保证架构平滑过渡,这个是软件开发者,特别是架构师,都需要深入思考的问题。 本文首发于InfoQ垂直号「聊聊架构」,ID:archtime 本文首发于InfoQ垂直号「聊聊架构」,ID:archtime 无架构,不系统,架构是大型系统的关键。从形上看 阅读全文
posted @ 2017-03-20 16:39 有梦就能实现 阅读(333) 评论(0) 推荐(1) 编辑
摘要:gRPC是Google最近公布的开源软件,基于最新的HTTP2.0协议,并支持常见的众多编程语言。 我们知道HTTP2.0是基于二进制的HTTP协议升级版本,目前各大浏览器都在快马加鞭的加以支持。 我们可以设想一下,未来浏览器支持HTTP2.0,并通过现有开源序列化库比如protobuf等,可以直接 阅读全文
posted @ 2017-03-20 16:26 有梦就能实现 阅读(1597) 评论(0) 推荐(1) 编辑
摘要:一、缘起 当数据库的数据量非常大时,水平切分和垂直拆分是两种常见的降低数据库大小,提升性能的方法。假设有用户表: user( uid bigint, name varchar(16), pass varchar(16), age int, sex tinyint, flag tinyint, sig 阅读全文
posted @ 2017-03-20 16:06 有梦就能实现 阅读(218) 评论(0) 推荐(1) 编辑
摘要:负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。 什么是负载均衡 负载均衡(Load Balanc 阅读全文
posted @ 2017-03-20 15:57 有梦就能实现 阅读(167) 评论(0) 推荐(0) 编辑
摘要:大多数域名注册商都支持对统一主机添加多条A记录,这就是DNS轮询,DNS服务器将解析请求按照A记录的顺序,随机分配到不同的IP上,这样就完成了简单的负载均衡。下图的例子是:有3台联通服务器、3台电信服务器,要实现“联通用户流量分摊到3台联通服务器、其他用户流量分摊到电信服务器”这个效果的设置。 DN 阅读全文
posted @ 2017-03-20 15:53 有梦就能实现 阅读(790) 评论(0) 推荐(0) 编辑
摘要:很多Web架构的文章都在谈大规模,高流量,高性能之类的网站架构设计,这类文章一是满足人们好奇心,但看过之后也就看过了,实际收益可能并不大;另外一个副作用是容易让人心潮澎湃,没学走先学跑,在很多条件仍不具备的情况下,过度设计、过度扩展(高德纳也说过,"过早优化是万恶之源"),所以,这里反弹琵琶,讨论一 阅读全文
posted @ 2017-03-20 15:05 有梦就能实现 阅读(218) 评论(0) 推荐(0) 编辑
摘要:*******************************前端*******************************1.增加必要的硬件和带宽,同时额外储备一部分,以备不时之需2.特别监控网络数据流量是否正常,如是否有大规模的爬虫、DDOS等浑水摸鱼,可以针对iP和Cookie的限流3.使 阅读全文
posted @ 2017-03-20 15:04 有梦就能实现 阅读(534) 评论(0) 推荐(0) 编辑
摘要:当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题: 1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求。 2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失。 于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问 阅读全文
posted @ 2017-03-20 14:55 有梦就能实现 阅读(262) 评论(0) 推荐(0) 编辑
摘要:【IT168 技术】12月25日消息,2010互联网行业技术研讨峰会今日在上海华东理工大学召开。本次峰会以“互联网行业应用最佳实践”为主题,定位于互联网架构设计、应用开发、应用运维管理,同时,峰会邀请了来自盛大、阿里巴巴、五分钟等互联网企业的多位嘉宾演讲,他们将同大家一起探讨数据库技术在互联网领域的 阅读全文
posted @ 2017-03-20 14:50 有梦就能实现 阅读(527) 评论(0) 推荐(0) 编辑
摘要:的方案去实现的,这样会有什么问题呢,假设如果放到一个实例里面,全部用一个单机事务去解决,这样是能比较方便的解决数据一致性问题。但是存在两个问题,一是无法进行多实例部署,用户量增长以后,无法快速应对。二是,PHP中做事务,如果PHP遇到异常,有时并不会自动终止事务,导致DB被锁住,这是第一个版本。之后 阅读全文
posted @ 2017-03-20 14:47 有梦就能实现 阅读(4243) 评论(0) 推荐(0) 编辑
摘要:前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。 上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记 阅读全文
posted @ 2017-03-20 14:45 有梦就能实现 阅读(384) 评论(0) 推荐(0) 编辑
摘要:前言应用场景 事务必须满足传统事务的特性,即原子性,一致性,分离性和持久性。但是分布式事务处理过程中, 某些场地比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证? 在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外,还得去 阅读全文
posted @ 2017-03-20 14:43 有梦就能实现 阅读(308) 评论(0) 推荐(0) 编辑
摘要:一、需求缘起 【业务场景】 有一类写多读少的业务场景:大部分请求是对数据进行修改,少部分请求对数据进行读取。 例子1:滴滴打车,某个司机地理位置信息的变化(可能每几秒钟有一个修改),以及司机地理位置的读取(用户打车的时候查看某个司机的地理位置)。 void SetDriverInfo(long dr 阅读全文
posted @ 2017-03-20 14:34 有梦就能实现 阅读(587) 评论(1) 推荐(0) 编辑
摘要:产生死锁的四个必要条件: (1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 二 锁的 阅读全文
posted @ 2017-03-20 14:04 有梦就能实现 阅读(486) 评论(0) 推荐(0) 编辑
摘要:<!-- 收藏 --> 前言: 前言: 由于网站访问压力的问题,综合分析各种因素后结合实际情况,采用数据库读写分离模式来解决当前问题。实际方案中采用“事务发布”模式实现主数据库和只读数据库的同步,其中: 发布服务器1台:sql2008,推送订阅模式 订阅服务器2台:sql2008 问题: 以上方案后 阅读全文
posted @ 2017-03-20 13:59 有梦就能实现 阅读(725) 评论(0) 推荐(0) 编辑
摘要:什么是死锁,如何避免死锁? 线程A需要资源X,而线程B需要资源Y,而双方都掌握有对方所要的资源,这种情况称为死锁(deadlock),或死亡拥抱(the deadly embrace)。 在并发程序设计中,死锁 (deadlock) 是一种十分常见的逻辑错误。通过采用正确的编程方式,死锁的发生不难避 阅读全文
posted @ 2017-03-20 13:54 有梦就能实现 阅读(635) 评论(0) 推荐(0) 编辑
摘要:实际上kafka对机器的需求与Hadoop的类似。 原来,对于Linkin这样的互联网企业来说,用户和网站上产生的数据有三种: 需要实时响应的交易数据,用户提交一个表单,输入一段内容,这种数据最后是存放在关系数据库(Oracle, MySQL)中的,有些需要事务支持。 活动流数据,准实时的,例如页面 阅读全文
posted @ 2017-03-20 11:32 有梦就能实现 阅读(265) 评论(0) 推荐(0) 编辑
摘要:1.背景 最近因为工作需要,调研了追求高吞吐的轻量级消息系统Kafka,打算替换掉线上运行的ActiveMQ,主要是因为明年的预算日流量有十亿,而ActiveMQ的分布式实现的很奇怪,所以希望找一个适合分布式的消息系统。 以下是内容是调研过程中总结的一些知识和经验,欢迎拍砖。 相关阅读:使用Kafk 阅读全文
posted @ 2017-03-20 11:27 有梦就能实现 阅读(509) 评论(0) 推荐(0) 编辑
摘要:队列作为一种比较抽象的数据结构,在程序世界中被广泛的应用,而实现方式和形态也各式各样,有使用进程内堆栈实现的,如stl库中的queue;有基于管道、Shmem实现的,如常见的同机进程间通信模型,而随着分布式系统应用越来越广泛,跨机通信的场景需来需多,面临的问题不仅是消息投递问题,分布式系统普适性的挑 阅读全文
posted @ 2017-03-20 11:21 有梦就能实现 阅读(10206) 评论(1) 推荐(0) 编辑
摘要:消息系统中,常用的一致性解决方案如下: 1) 发送消息给消息系统 2) 消息系统入库消息 3) 消息系统返回结果 4) 业务操作 5) 发送业务操作结果给消息系统 6) 更改存储中的消息状态 如果消息丢失,从业务数据补发消息是最彻底的容灾手段。一般地,把集群和集群之间对消息的消费作为topic模型处 阅读全文
posted @ 2017-03-20 11:06 有梦就能实现 阅读(686) 评论(0) 推荐(0) 编辑
摘要:消息的可靠性,即消息的不丢失和不重复,是im系统中的一个难点。当初qq在技术上(当时叫oicq)因为以下两点原因才打败了icq:1)qq的消息投递可靠(消息不丢失,不重复)2)qq的垃圾消息少(它antispam做得好,这也是一个难点,但不是本文重点讨论的内容)今天,本文将用十分通俗的语言,来讲述w 阅读全文
posted @ 2017-03-20 11:01 有梦就能实现 阅读(1151) 评论(0) 推荐(0) 编辑
摘要:前几天研究数据库分表分库的问题,其中有一个关键的地方就是生成唯一键的问题,假如数据表有1亿条数据,而且还在不断的增加,这里我们就需要考虑到分表分库,假设我们采用Hash或者是用户取模求余的方法将这个表拆分成10个表,每个表的结构相同,其中有一个主键id,那么10个表中的id需要唯一不同,在单表的时候 阅读全文
posted @ 2017-03-20 10:23 有梦就能实现 阅读(774) 评论(0) 推荐(1) 编辑
摘要:1. FLP impossibility背景 FLP Impossibility(FLP不可能性)是分布式领域中一个非常著名的结果,该结果在专业领域被称为“定理”,其地位之高可见一斑。该定理的论文是由Fischer, Lynch and Patterson三位作者于1985年发表,之后该论文毫无疑问 阅读全文
posted @ 2017-03-20 09:38 有梦就能实现 阅读(15143) 评论(1) 推荐(4) 编辑
摘要:建立与数据库的连接。 在菜单条上,有一个Database的选择项: 选择connect…后弹出设置对话框: 在Data source里选择第三个单选按钮,即Connection profile:后,点击Configure。会弹出如下窗口: 选择左上角的Add Data Source,弹出如下窗口: 阅读全文
posted @ 2017-03-19 20:13 有梦就能实现 阅读(3010) 评论(1) 推荐(1) 编辑
摘要:原项目的大量的表,使用PowerDesigner 进行逆向工程。提示Could not Initialize JavaVM! 原项目的大量的表,使用PowerDesigner 进行逆向工程。提示Could not Initialize JavaVM! 网上找到原因,PowerDesigner 不可以 阅读全文
posted @ 2017-03-19 19:08 有梦就能实现 阅读(3984) 评论(0) 推荐(0) 编辑
摘要:<!--done--> 我们都知道,java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个Map中 不存在两个Key相同的元素,而value不存在这个限制。换句话说,在同一个Map中Key是唯一的,而value不唯一。Map是一个接口,我们不能 直接声明一个Map类型 阅读全文
posted @ 2017-03-13 16:42 有梦就能实现 阅读(857) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示