zookeeper 文科生的浅显理解

参考:https://www.w3cschool.cn/zookeeper/zookeeper_overview.html

ZooKeeper最简洁的定义如下:

> ZooKeeper是一种分布式协调服务。

这里最关键的两个词就是:分布式、协调。

分布式的理解:之前是在一个服务器上面运行,现在分布在多个服务器上面运行了。好处是效率的提升,一个服务器挂掉不会导致整个服务器瘫痪;增加性能的时候,可以通过增加多一点服务器。这个用日常生活就可以理解,技术源于对生活的借鉴。

例如,把一个部门称为集群,每个人都是分布式的应用,称为节点了。一个项目下来,分给不同的人去做,当有人请假或者离职的时候,总有人会顶替上来。大家一起互相协调、帮助,共同完成了这个项目的开发。


事实上,部门协作的例子比分布式应用的概念太超前了,分布式应用还需要不断摸索才能达到更好的协调效果。实际执行分布式的时候,傻傻的分布式会出现各种奇葩问题:

  • 竞争条件 - 两个或多个机器尝试执行特定任务,实际上只需在任意给定时间由单个机器完成。

  • 死锁 - 两个或多个操作等待彼此无限期完成。

  • 不一致 - 数据的部分失败。


在现实生活中,上述都是白痴问题。出现这些问题的节点(员工)都可以考虑炒掉了。没办法,技术就是这么死板,还是要处理。对了,部门中不是有个项目经理吗,项目经理就可以去协调上面出现的问题。那,我们就给分布式应用也添加一个项目经理去协调各个节点的工作吧。


这个项目经理,叫ZooKeeper吧,你的工作只有一个,协调集群中各个节点的工作。具体,要做什么?协调中出现的问题你去处理就是,把经常出现的问题列一个清单,然后你的工作就清晰了。

ZooKeeper提供的常见服务如下 :

  • 命名服务 - 按名称标识集群中的节点->这个工作超级简单,给员工搞个编号,命个名,方便后面协调。

  • 配置管理 - 加入节点的最近的和最新的系统配置信息。->执行一些规则,大家遵循吧。

  • 集群管理 - 实时地在集群和节点状态中加入/离开节点。->统计项目人头。

  • 选举算法 - 选举一个节点作为协调目的的leader。->确定最终是谁负责这件事,责任到个人头上。

  • 锁定和同步服务 - 在修改数据的同时锁定数据。 -> 协调资源,大家都等着获取,要不要干活。

  • 高度可靠的数据注册表 - 即使在一个或几个节点关闭时也可以获得数据。 ->这个简单,一个员工请假了,他的工作还是要接下去做的。


初次理解zookeeper就是这样子了。以上的解释都是错的,只是帮助个人理解的手段。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值