我正在学习Zookeeper,到目前为止,我还不了解将它用于数据库无法解决的分布式系统的目的.
我读过的用例是通过让Zookeeper客户端读/写Zookeeper服务器来为分布式系统实现锁,屏障等.通过读/写数据库不能实现同样的目标吗?
例如,我的书中描述了使用Zookeeper实现锁定的方法是让想要获取锁定的Zookeeper客户端创建一个ephemeral znode带有顺序标志的服务器lock-znode.然后锁定由其子znode具有最低序列号的客户端拥有.
本书中的所有其他Zookeeper示例再次仅使用它来存储/检索值.
似乎唯一不同的是Zookeeper与数据库/任何存储器的区别在于"观察者"概念.但这可以使用其他东西构建.
我知道我对Zookeeper的简化看法是一种误解.那么有人能告诉我Zookeeper真正提供的数据库/自定义观察者不能做什么吗?