Zookeeper 是一个高可用的分布式数据管理与协调框架,基于ZAB协议算法的实现,该框架能够很好的保证分布式环境中数据的一致性。Zookeeper的典型应用场景主要有:数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等。
本文介绍了如何使用Curator实现分布式协调,包括Leader选举、分布式锁和分布式队列。首先介绍了Leader选举的原理和常用算法,然后通过实例展示了如何使用Curator实现分布式协调。最后,总结了Curator在分布式协调中的应用场景和注意事项。
Consul是一套开源的分布式服务发现和配置管理系统,支持多数据中心分布式高可用。Consul是HashiCorp( Vagrant的创建者)开发的一个服务发现与配置项目,用Go语言开发,基于 Mozilla Public License 2.0 的协议开源。
一直对Paxos协议比较感兴趣,之前对这个算法 有耳闻 但只是了解皮毛,最近在学Zookeeper,趁着这股新鲜劲,就花时间研究了下Zookeeper的选举算法实现,再重新学习了Paxos算法,这篇文章算是我的学习总结吧。 Basic Paxos 协议 Paxos 协议是一个解决分布式系统中 多个节点之间就某个值(提案value)达成一致(决议)的通信协议,也就是说,每个节点 提出的提案 会 对 同一个 提案内容 达成一致(知悉 且 要commit成功)。下面简称提案ID为 ProposalID,提案内容为
zookeeper不是为高可用性设计的,但它使用ZAB协议达到了极高的一致性,所以是个CP系统。所以它经常被选作注册中心、配置中心、分布式锁等场景。
领取专属 10元无门槛券
手把手带您无忧上云