我正在尝试使用Zookeeper来存储服务的配置,所以我需要的一个功能是调度,即对于某些提到的持续时间,我将交换我当前的配置,与其他配置。我怎样才能在Zookeeper中实现这一目标?
还有什么是动物园管理员的最佳用户界面?
答案 0 :(得分:1)
问:我正在尝试使用Zookeeper来存储服务的配置,所以一个 我需要的功能是调度,即一些提到的持续时间I. 将使用其他配置交换我当前的配置。我怎样才能实现 这在Zookeeper中?
假设您有两个应用程序,一个用于设置配置(让我们称之为A
),另一个用于读取它(让我们称之为B
)。 A
应该在ZooKeeper中创建znode,命名为例如/config
,其中包含配置数据。请注意,单个znode可以保存最多1 MB的数据 - 这应该足以保持配置。 B
然后需要阅读znode /config
的内容并注册watch。监视的目的是在该znode发生变化时通知B
。
特别是,当A
将新配置写入/config
时,观看会确保B
收到有关它的通知。重要提示 - 观看事件是一次性触发器,即当B
收到通知时,它需要再次注册一个手表,否则它将错过进一步的更改。另请注意,ZooKeeper本身没有任何内置的调度程序机制 - A
必须依赖其系统时钟在指定的时间范围内更新配置。
问:还有什么是动物园管理员的最佳用户界面?
没有亲自尝试过任何这些(zkCli符合我的需要),但据说最受欢迎的是: