从paxos到zookeeper 分布式一致性原理与实践

cap base
paxos 原理
google chubby

zookeeper:原子性,要么全有,要么全没有
高性能,高可用
zookeeper 一半集群,高可用
zookeeper 将全部数据存在内存中

leader,follower,observer
observer不参与leader的选举

2181端口
acl:c,r,w,d,a

消息广播模式,崩溃恢复模式

进程的状态:looking following leading
zookeeper 需要java环境

zoo.cfg


从paxos到zookeeper 分布式一致性原理与实践
image.png

sh zkServer.sh start
telnet 127.0.0.1 2181
server.1=ip1:2888:3888

单机多集群
server.1=ip1:2888:3888
server.2=ip1:2889:3889
server.3=ip1:2900:3900

从paxos到zookeeper 分布式一致性原理与实践
image.png

sh skCli.sh -server ip:port


开源客户端:ZkClient,Curator

发布,订阅模式的分布式数据管理与协调框架
高可用的分布式数据管理与协调框架 数据一致性
数据库登录配置,域名配置,
zookeeper实现锁


clientPort 端口,一搬设置2181
dataDir 快照目录
tickTime 最小时间单元,默认3000MS
dataLogDir
initLimit 10 表示tickTime*10,这段时间是follower同步服务端的时间
syncLimit 5 leader和follower之间进行心跳检测的时间
server.id=host:port:port

minSessionTimeout
maxSessionTimeout 会话时间
maxClientCnxns 同一个客户端的并发连接数
jute.maxbuffer 一个节点可以存储的数据大小

zkCleancup.sh 清理工具