ZooKeepre分布式协调

张开发
2026/4/12 9:30:37 15 分钟阅读

分享文章

ZooKeepre分布式协调
一.ZooKeepre数据流程1. 在Client向Follower发出一个写的请求2. Follower把请求发送给Leader3. Leader接收到以后开始发起投票并通知Follower进行投票4. Follower把投票结果发送给Leader5. Leader将结果汇总后如果需要写入则开始写入同时把写入操作通知给Leader然后commit;6. Follower把请求结果返回给Client二.ZooKeepre简介1. zookeeper官网*描述“Apache ZooKeeper致力于开发和维护实现高度可靠的分布式协调的开源服务器”。2.zookeeper的三种部署方式(1) 独立部署模式即部署在单台机器上的一个zookeeper服务适用于学习、了解zookeeper基础功能。(2) 伪分布模式即部署在一台机器上的多个原则上大于3个zookeeper服务虚拟分布式的zookeeper集群适用于学习、开发和测试不适用生产环境。(3) 全分布式模式复制模式即在多台机器上部署zookeeper服务真正的集群模式适合于学习、开发和测试可投入到生产环境中使用。三.ZooKeepre1.术语①Zookeeper是一个由多个server组成的集群②一个leader多个follower③每个server保存一份数据副本④全局数据一致⑤分布式读写⑥更新请求转发由leader实施⑦更新请求顺序进行来自同一个client的更新请求按其发送顺序依次执行⑧数据更新原子性一次数据更新要么成功要么失败⑨client无论连接到哪个server数据视图都是一致的⑩实时性在一定事件范围内client能读到最新数据2.事务要想理解啥事务首先得理解清楚什么是一致性。所谓的一致性实际上就是围绕着“看见”来的。谁能看见能否看见什么时候看见举个例子淘宝后台卖家在后台上架一件大促的商品通过服务器A提交到主数据库假设刚提交后立马就有用户去通过应用服务器B去从数据库查询该商品就会出现一个现象卖家已经更新成功了然而买家却看不到而经过一段时间后主数据库的数据同步到了从数据库买家就能查到了。假设卖家更新成功之后买家立马就能看到卖家的更新则称为强一致性如果卖家更新成功后买家不能看到卖家更新的内容则称为弱一致性而卖家更新成功后买家经过一段时间最终能看到卖家的更新则称为最终一致性

更多文章