【架构】分布式协调服务-zookeeper
前言
小编最近接触分布式的学习,对于分布式协调服务zookeeper有了一定的了解,现在简单地总结一下这块的知识。奉上一张导图:
分布式环境
一、特点
分布性、并发性、无序性
分布性:部署两台以上的服务器,多个节点分布开来;
并发性:同一个分布式系统中的多个节点,同时访问一个共享资源,如数据库、分布式存储;
无序性:进程之间的消息通信,会出现顺序不一致问题
二、面临问题
1.网络通信
网络本身的不可靠性带来的问题。
2.网络分区(脑裂)
当网络发生异常导致分布式系统中部分节点之间的网络延时不断增大,最终只有部分节点能正常通信
3.三态
成功、失败、超时
4.分布式事务
ACID(原子性、一致性、隔离性、持久性)
分布式架构
一、中心化和去中心化
冷备或者热备
二、典型代表
zookeeper: 中心化,集群发生故障时,自动选举出一个新领导
etcd : 世界物联网 去中心化,
初步认识zookeeper
一、开源分布式协调服务
雅虎创建,基于google chubby
二、分布式数据一致性的解决方案
三、功能
1.数据的发布/订阅(配置中心)
2.负载均衡:dubbo利用了zookeeper机制实现负载均衡
3.命名服务
4.master选举:kafka/hadoop/hbase
5.分布式队列
6.分布式锁
四、特性
1.顺序一致性
从同一客户端发起的事务请求,最终会严格按照顺序被应用到zookeeper中。
2.原子性
所有的事务请求的处理结果在整个集群中的所有机器上的应用情况是一致的。
3.可靠性
一旦服务器成功应用了某一个事务数据,并且对客户端做了相应,则这个数据在整个集群中一定是同步且保留下来的。
4.实时性
一旦一个事务被成功应用,客户端就能够立即从服务器端读取到事务变更后的最新数据状态。
小结
分布式架构中,zookeeper可以说是中心化代表的一个分布式数据一致性的优秀解决方案,一个分布式协调服务,里面的具体特性,需要好好地去理解和掌握。
感谢您的访问!