Zookeeper 合意服务与锁定服务?

k0pti3hp  于 2022-12-09  发布在  Apache
关注(0)|答案(2)|浏览(118)

通过谷歌的Chubby Paper
像锁服务一样,共识服务将允许客户端安全地进行,即使只有一个活动的客户端进程;类似的技术已经被用于减少拜占庭容错所需的状态机的数量[24]。然而,假设共识服务不是专门用于提供锁(这将其简化为锁服务),则该方法不能解决上述的任何其他问题
他们提到了Chubby如何不是共识服务而是锁定服务,以及共识服务如何能够用于在节点的对等体之间实现共识以及
据我所知,我认为像Chubby和Zookeeper这样的服务是用来将分布式应用程序的问题(如领导者选举、集群管理、访问共享资源)卸载到不同的应用程序(chubby/zookeeper),这些都是基于锁的服务。
什么是共识服务,它们与锁服务有何不同?
什么时候会用到这两个词?

lo8azlld

lo8azlld1#

Zookeeper是一个协作服务,模仿Google的Chubby。它提供的主要功能有

  • 可线性化的原子操作
  • 操作的总排序
  • 故障检测
  • 更改通知

其中,Linearizable atomic operations需要ZooKeeper实现一致性算法(Zab),因此,线性化能力可用于使用Zookeper锁在分布式系统中的对等体之间实现一致性
引自书中Designing Data-Intensive Application
像Apache ZooKeeper [15]和etcd [16]这样的协调服务经常被用来实现分布式锁和领导者选举。
根据我的理解,共识服务和协调服务都运行在某种共识算法之上,只是锁服务通过分布式锁来表示共识
与Chubby的论文中也提到的情况类似,
但是,假设共识服务不是专门用于提供锁(这将其简化为锁服务)
我发现《设计数据密集型应用程序》一书中的第9章“一致性和共识”对这个主题很有帮助,如果你想深入研究,我绝对推荐你阅读这本书

mf98qq94

mf98qq942#

你可以用一个锁来提出你的价值观,发布你的价值观,这是共识。

相关问题