摘要: 在分布式系统中经常使用心跳(Heartbeat)来检测Server的健康状况,但从理论上来说,心跳无法真正检测对方是否crash,主要困难在于无法真正区别对方是宕机还是“慢”。传统的检测方法是设定一个超时时间T,只要在T之内没有接收到对方的心跳包便认为对方宕机,方法简单粗暴,但使用广泛。1. 传统错... 阅读全文
posted @ 2014-08-29 23:13 LeonGo 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 层次锁,更多地是在数据库设计中被提到,但也有少数分布式锁系统也实现这个概念。下面内容主要还是从数据库设计的角度来理解层次锁的概念。1. 事务锁粗略说来,当执行SQL语句时数据库都会开启事务,在SQL执行完毕commit时,会把所有受影响数据写到磁盘文件并结束事务。在事务执行期间,为了保证事务的ACI... 阅读全文
posted @ 2014-08-29 23:12 LeonGo 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 在众多的分布式一致性算法中,经常需要通过节点的数量满足某种规则来保证算法的正确性,比如Paxos算法,依赖一个”多数派“ 节点的工作的正确性。这类算法的共同目标是容许尽量多的节点失败但又不影响算法的正确性”。 这类问题本质上都抽象为数学上集合之间的逻辑关系,下面我们便从集合的性质入手讨论,为此先引入... 阅读全文
posted @ 2014-08-29 23:10 LeonGo 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 自从Lamport在1998年发表Paxos算法后,对Paxos的各种改进工作就从未停止,其中动作最大的莫过于2005年发表的Fast Paxos。无论何种改进,其重点依然是在消息延迟与性能、吞吐量之间作出各种权衡。为了容易地从概念上区分二者,称前者Classic Paxos,改进后的后者为Fast... 阅读全文
posted @ 2014-08-29 23:08 LeonGo 阅读(402) 评论(0) 推荐(0) 编辑
摘要: Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性复制的核心,据其作者说这是一种新发算法,其特点是充分考虑了Yahoo的具体情况:高吞吐量、低延迟、健壮、简单,但不过分要求其扩展性。下面将展示一些该协议的核心内容:另,本文仅讨论Zooke... 阅读全文
posted @ 2014-08-29 23:07 LeonGo 阅读(192) 评论(0) 推荐(0) 编辑
摘要: FLP Impossibility(FLP不可能性)是分布式领域中一个非常著名的结果,该结果在专业领域被称为“定理”,其地位之高可见一斑。该定理的论文是由Fischer, Lynch and Patterson三位作者于1985年发表,之后该论文毫无疑问得获得了Dijkstra奖。顺便要提一句的是,... 阅读全文
posted @ 2014-08-29 23:05 LeonGo 阅读(684) 评论(0) 推荐(0) 编辑
摘要: CAP理论在互联网界有着广泛的知名度,知识稍微宽泛一点的工程师都会把其作为衡量系统设计的准则。大家都非常清楚地理解了CAP:任何分布式系统在可用性、一致性、分区容错性方面,不能兼得,最多只能得其二,因此,任何分布式系统的设计只是在三者中的不同取舍而已。事实上,让人吃惊的是,CAP在国外的响力完全不如... 阅读全文
posted @ 2014-08-29 22:27 LeonGo 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 关于VMware vFabric2009年8月VMware收购SpringSource,形成vFabric套件产品,将 Spring 框架工具与 vFabric 平台服务组合,加快可即时扩展和具有云端移植性的新一代应用程序的交付速度,正式吹响Java应用迈向云端的号角。vFabric套件从计算中心基... 阅读全文
posted @ 2014-08-29 22:14 LeonGo 阅读(730) 评论(0) 推荐(0) 编辑
摘要: SELECT (a.cntr_value * 1.0 / b.cntr_value) * 100.0 [BufferCacheHitRatio]FROM (SELECT * FROM sys.dm_os_performance_countersWHERE counter_name = 'Buffer... 阅读全文
posted @ 2014-08-26 13:48 LeonGo 阅读(2632) 评论(0) 推荐(0) 编辑
摘要: 1:高可用性集群 强调的是高可用性。2:负载均衡集群 不强调高可用性,强调负载的均衡3:高吞吐集群 注重吞吐量,又叫做SIMD(single instruction multiple data),每个worker的功能相同,数据不同。4:分布式计算 又叫做MIMD(multiple inst... 阅读全文
posted @ 2014-08-23 18:28 LeonGo 阅读(473) 评论(0) 推荐(0) 编辑