zookeeper
Posted ljing21
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper相关的知识,希望对你有一定的参考价值。
分布式:
1.分布式环境的特点:
分布性:多台机器位置不同,但是相互协同做某一件事情。
并发性:程序运行过程中,并发性操作是很长见的。比如:同一个分布式系统中的多个节点,同时访问一个共享资源。(数据库,分布式存储)
无序性:进程之间的消息通信,会出现顺序不一致问题。
2.分布式环境下面临的问题:
网络通讯:不同机器之间数据是通过网络通讯的,而因为网络本身的不可靠性,因此会涉及到一些网络通讯问题(停电断网,电缆被挖断了),导致通讯失败
网络分区(脑裂):当网络发生异常导致分布式系统中部分节点之间的网络延时不断增大,最终导致组成分布式架构的所有节点,只有部分节点能够正常通讯
三态:在分布式架构里面,除了成功,失败,还有超时
分布式事务:ACID(原子性,一致性,隔离性,持久性)
3.中心化和去中心化(分户式环境中常用思想就是,当集群中故障发生的时候,集群中马上进行自动选举,比如zookeeper和etcd )
中心化:主备思想(冷备和热备:热备就是两个master或leader但是只有一个在工作的状态,冷备就是主挂掉后马上进行选举)
去中心化:没有主备之分,好处就是至少保证只是一部分不能正常工作
4.经典的CAP/BASE理论
zookeeper:
1.初识zookeeper:
zookeeper是一个开源的分布式协调服务,是由雅虎创建的,基于google chubby。
2.zookeeper是什么?
分布式数据一致性解决方案
3.zookeeper能做什么?
数据的发布/订阅(配置中心:disconf)
负载均衡(dubbo利用了zookeeper机制实现负载均衡)
命名服务
master选举(kafka,hadoop,hbase)
分布式队列
分布式锁
4.zookeeper的特性:
顺序一致性:从同一个客户端发起的事务请求,最终会严格按照顺序被应用到zookeeper中
原子性:所有的事务请求的处理结果在整个集群中的所有机器上的应用情况是一致的,也就是说,要么整个集群中的所有机器都成功应用了某一事务,要么全都不应用
可靠性:一旦服务器成功应用了某一个事务数据,并且对客户端做了响应,那么这个数据在整个集群中一定是同步并且保留下来的
实时性:一旦一个事务被成功应用,客户端就能够立即从服务器端读取到事务变更后的最新数据状态;(zookeeper仅仅保证在一定时间内,近实时)
以上是关于zookeeper的主要内容,如果未能解决你的问题,请参考以下文章