在以往的分布式应用程序中,或多或少都会有要修改或新增一些配置的时候,但程序部署在多台机器上,逐个修改配置就变个格外的困难,一般有一个方法,就是把配置信息从在配置文件中改成 保存在数据库里,这样配置文件的修改只要通过修改数据库的信息就可以修改配置信息,然后每个程序通过数据库获取配置信息,但是这样的做法缺点也是显而易见的,程序不知道配置信息什么时候进行了修改,这样会造成不能及时获取配置信息,并且每个程序都要不断的轮询获取数据库的配置信息来判断是否需要更新配置,这样无疑增加了数据库的压力。然而ZooKeeper提供的配置管理解决了这样的问题。
利用ZooKeeper的发布订阅、watch来实现.
把配置信息保存到ZooLKeeper的某个节点上(文件系统),应用程序去监听这个节点,如果这个节点上的数据发生了变化,ZooKeeper就会通知监听这个节点的应用程序,程序收到通知后就可以通过ZooKeeper获取节点更新后的配置信息,达到及时更新配置信息。