我正在编写一个长时间运行的 java 进程,该进程将在内存队列上进行轮询,并将消耗队列中的项目。我想使用 zookeeper 在此服务中进行动态配置。我已经编写了一个运行线程并监视 zookeeper 节点的 java 类。每次对 zookeeper 节点进行更改时,都会触发一个事件,并且我会获得 zookeeper 节点数据的最新内容。现在的问题是:
znode 数据的编码应该是什么,一种选择是使用类似系统的 .properties 文件,因此只需键值对,然后在我的侦听器中将这些键设置在配置类中更改。
将此数据写入文件然后将该配置文件包含在我的java程序中是否有意义?如果我这样做,当配置更改时,我将不得不以某种方式刷新磁盘中的内容。我没有看到将这些配置写入本地文件有什么特别的好处。Zookeeper 服务器有足够的冗余,当服务被反弹时,配置刷新线程可以获取该 znode 的所有数据。