分类 zookeeper 中的文章

Zookeeper结构简介

zookeeper简介 Zookeeper Architecture 在zookeeper集群中,只有一个leader节点,其它的都是followers leader在启动的时候选举产生 当zk数据发生变更,leader节点负责将数据写入磁盘然后写入内存中 zk集群最小节点数为2x+1,x代表允许宕机的节点数 Read Function Of Zookeeper according to the consistency of zookeeper ,依据zookeeper集群数据一致性原则,客户端可以在zk任何节点上读取数据 Write Function Of Zookeeper 写操作可以在任何节点上完成 当zk节点收到写请求的时候,会将请求转发给leader节点,leader节点收到写请求后,会向所有follower节点发送一个request请求,询问follower节点是否可以做写操作。 follower节点跟进自身情况,返回ACK消息给leader确实是否可以完成写操作,当leader收到的ACK消息节点数大于50%。leader开始执行写操作,并将数据同步到follower节点 原文参考 ……

阅读全文

Zookeeper迁移

zookeeper迁移 背景 当前zk集群为3节点单机房部署,为了增加集群的跨机房的容灾内里,需要将3个节点分别部署在3个可用区,迁移过程中不中断业务,因此需要先扩容后下线 zookeeper选举原则 首先比较 Zxid,哪个节点的 Zxid 最大就选择谁作为 leader 在所有节点的 Zxid 全都一致的情况下,则比较选举 id(myid文件中的值),选举 id 较大的节点会作为 leader 由于zookeeper只允许 myid 大的节点连接到 myid 小的节点,所以启动 zookeeper 的顺序应该按照 myid 从小到大启动,最后再启动leader节点。 迁移风险 zk业务使用方,使用的是ip地址还是域名,如何统计? zk除了用于配置中心,是否还有其他业务线用于键值存储? zk使用方的业务除了部署容器的,ECS上的业务怎么重启? zk迁移到新IP后,AC是否需要重启 如果应用不重启,使用ZK加载动态配置的业务方由于获取的是老ip导致配置下发异常,是否会引发线上故障 迁移总体方案 zk从5节点扩容到8节点,新增的3个节点分布到2个或者3个机房 修改zk域名解析到最新的5个节点上 ZK使用方重启应用以获取最新的IP地址 老节点没流量后,逐步下线老的3个节点 迁移步骤-扩容 参考链接……

阅读全文