摘要:
Serf使用Gossip Protocol来广播消息到集群中。本文介绍这个内部协议的细节。gossip协议基于“SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol”,有一写小的适配,很大 阅读全文
摘要:
Consul使用先进的方式来维护服务和健康信息。本文详细描述服务和检查如何注册,目录如何生成和健康信息改变时如何更新。 Components 首先了解涉及服务和健康检查的移动部件:agent和catalog,是非常重要的。通过概念上的描述它们可以更容易的理解anti-entropy。 Agent 每 阅读全文
摘要:
Consul使用一个网络层成像系统来计算集群中节点的网络坐标。这个坐标允许使用一种非常简单的计算来估计任何两个节点之间的往返时间。这对于很多应用都是有用的,比如寻找某个请求节点最近的服务节点或者故障转移到最近的数据中心。 所有这些都是使用Serf库提供。Serf的网络成像系统基于“Vivaldi: 阅读全文
摘要:
Consul使用gossip协议来管理成员和广播消息到集群。所有这些都是通过使用Serf库提供的。Serf使用的gossip协议基于“SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol” 阅读全文
摘要:
Consul使用一致性协议来提供一致性(如CAP定义的)。一致性协议基于“Raft: In search of an Understandable Consensus Algorithm”。Raft的直观展示,见The Secret Lives of Data。 提示:本页覆盖了Consul内部的所 阅读全文
摘要:
Abstract 一些分布式的p2p的应用在整个过程中需要知道进程组成员的弱一致性信息。SWIM是一个通用的软件模型,他能够为大规模的进程组提供服务。由于传统心跳协议的不可伸缩性促使了SWIM的出现,因为传统心跳协议要么增加了网络负载,随着成员的规模程2次方增加,要么增加响应时长或者误检测出进程奔溃 阅读全文
摘要:
Consul是一个复杂的系统,它有很多不同的可组装的部分。为了帮助Consul的用户和开发者形成一个它如何工作的运转模型,本文介绍它的系统架构。 注意:本文覆盖了Consul的内部技术细节。高效的操作和使用Consul并不需要你知道这些细节。这些细节记录在这里是为了方便那些希望学些Consul,但是 阅读全文
摘要:
主要描述Consul的内部实现,比如架构,一致性和gossip协议和安全模型。主要包含以下几个部分: 架构 一致性协议 Gossip协议 网络协调 Session ACL Anti-Entropy 安全模式 Anti-Entropy 注意:了解Consul的内部实现并不是使用它的必要条件。 阅读全文
摘要:
为什么要有Default方法 在Java8发布之际,有件事情就显得非常重要,即在不破坏java现有实现架构的情况下能往接口里增加新方法。引入Default方法到Java8,正是为了这个目的:优化接口的同时,避免跟现有实现架构的兼容问题。看下面例子: 这样,即使我们把Lambda表达式引入到java8 阅读全文
摘要:
最近在看JDK的源码:CopyOnWriteArrayList.java和ArrayList.java,这2个类的构造函数,注释中有一句话看不懂。 上网查了一下资料,才知道see 6260652 这个编号代表JDK bug库中的编号。可以去官网查看bug详情 http://bugs.java.com 阅读全文