sky*_*yde 6 java distributed apache-zookeeper
我正在编写一个涉及多个前端节点的分布式应用程序,除非它们是列表的一部分,否则需要拒绝对用户执行操作.
现在我们有超过4个节点,但只有一个运行DB2的数据库服务器通常需要维护.
现在我们正在轮询数据库以更新内存列表,这样如果用户从列表中删除,则更改会反映到所有4个节点.但是,如果在数据库关闭时重新启动其中一个节点,我们最终会得到一个空列表,这将拒绝我们不想要的所有用户请求.我们可以接受来自用户的请求,即使数据库已关闭,因为我们将它们缓冲在消息队列中,但我们想立即拒绝它们,如果它们需要被拒绝的话!
在我们的4个节点上运行Zookeeper实例并在Zookeeper中存储用户权限是否有意义.因此,阅读应该是快速的,并且数据具有高可用性和可靠性.我们不必再进行轮询,即使我们重新启动数据库,节点也可以从zookeeper获取配置!
Sla*_*ast 10
是的,你描述问题的方式,Zookeeper应该完全适合这个法案.虽然需要回答几个问题:
我们谈论了多少数据?Zookeeper将数据保留到磁盘,但仅在数据适合RAM时才有效.
数据更改频率如何?Zookeeper将确保超过一半的节点收到更新,因此写入并不完全符合要求.
应该一次读取多少数据?Zookeeper的响应大小限制为1MB,但他们建议将数据保持在该限制之下.请注意,如果要列出包含大量子节点的节点,也可以达到此限制,因为子节点名称计为数据.
考虑到数据是从RAM送达,阅读它不应该是太大的问题,但你总是可以缓存结果,并就适当的节点设置观察到无效的本地数据.
| 归档时间: |
|
| 查看次数: |
1736 次 |
| 最近记录: |