通俗易懂的理解zookeeper的作用

  • 举个例子,乌鸡国国王想找唐僧师徒安排点任务,所以乌鸡国国王找了唐僧师徒团队的leader唐僧,因为唐僧可以管理团队的成员,知道团队内的大大小小事情。唐僧协调安排了合适的人帮乌鸡国国王解决需求。

那么leader唐僧,实际上承担了团队里面的协调作用,同样来说分布式系统也相当于一个团队,也需要这么一个协调者,zookeeper对分布式系统就像唐僧对取经师徒四人团队。如

果唐僧不存在会出什么问题呢 ?

假设猴子、八戒、沙和尚相当于一个集群下三个服务:

这时候乌鸡国国王提出了几个问题:

1.猴子换了一件战袍(ip),防止其他2位认不出自己,怎么同步给另外2位呢?(即每个服务都有一个配置文件,配置文件中信息动态变更,如何保证各节点数据一致性?)

2.如果女儿国国王又来了一个新任务,怎么分配给哪个人做?(保证一个任务只在一个service执行)

3.猴子辞职了回花果山了,怎么通知给其他2位,并把工作交接给八戒或者沙和尚?(某个service挂掉如何通知给其他service并接替它的任务?)

4.三个人做任务时候都涉及到了一个公共文件,怎么保证这三个人有序看这个文件并且保证这个文件在看的时候没有被另一个人修改?(保证节点当问共享资源的互斥性和安全性,类似多线程访问同一资源)

这时候就体现了唐僧承担着分布式协调的工作,我们都知道CAP理论,在选小李这样人才时候不由得思考到底是把CP还是AP放到第一位,选择CP我们就可以在同一时间同步员工信息相同,但是需要容忍一定的同步时间;AP就是需要容忍数据不一致问题,但是确保了员工们都正常给我们做任务。

差不多zookeeper 唐僧就是要去解决这样的问题。

#听懂掌声!

  • Zookeeper 就像是一个"协调大师"。

  • 它的主要作用是在分布式系统中帮忙协调各个部分,让它们能好好合作。

比如说,有一群人在做一个大项目,Zookeeper 就是那个让大家知道该做什么、怎么配合的人。

它可以:

  1. 帮大家保持同步,确保大家都在做正确的事情。
  2. 管理一些关键的资源,避免大家抢起来。
  3. 当有人出问题的时候,它能帮忙处理,让整个项目还能继续进行。

这样,大家就能更高效地合作,项目也能顺利完成啦!

不知道我这样说有没有让你更好地理解 Zookeeper 的作用呢?如果你还有其他问题,随时告诉我哦。

相关推荐
螺蛳粉 螺蛳粉9 小时前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
知已难寻10 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
8Qi813 小时前
DDD架构演进
java·分布式·mvc·ddd
n1121213 小时前
Ollama 接 Open WebUI 中文界面:我踩的 4 个坑
云原生·eureka·ollama·本地大模型·open webui·私有部署·中文界面
方方洛13 小时前
ray教程-23-附录C-术语表
人工智能·分布式·机器学习
阿里云云原生13 小时前
用户说 App“下不了单”:用 Session Replay 看清流程卡在哪一步
云原生
阿里云云原生14 小时前
运维走出控制台:阿里云 AgentCore AI Native 运维实践
云原生
SelectDB技术团队18 小时前
Apache Doris 异步物化视图与 Snowflake MV / Dynamic Tables 工程化对照
云原生·私有化部署·olap·实时数仓·apache doris·国产化替代·异步物化视图
分布式存储与RustFS18 小时前
可观测性数据落进对象存储:Proscia 案例拆解与 ClickHouse 自托管配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
茶海棠18 小时前
Hadoop+zookeeper+HBase+Kafka集群搭建全流程
hadoop·zookeeper·kafka·hbase