随着互联网的快速发展和用户的访问量越来越大,一个Web应用程序必须部署在几十台应用服务器上才能满足当前需求。此时将项目的配置信息放入文件中,会带来不便,如:一个Web应用项目会部署在多台机器上,每次更新项目任何一个配置,都需要在不同服务器文件上更新很多次,这样容易出错而且麻烦。这样的情况下,建立集中式的配置系统就变得非常有必要。
从理论上,下面讲述如何快速有效搭建大型互联网集群配置系统,它有如下四个重要的点:
1、配置信息存储:项目配置文件放在哪?
2、请求配置信息:当一个Web应用程序启动时,如何获取到项目配置信息?
3、监听配置信息:当项目配置信息修改时,配置系统如何通知。
4、统一控制终端:集群配置系统最终要给出一个集中的Web控制终端来管理这些配置,包含配置信息增加、删除、修改、查询、部署等等。
解决了上面的四个问题,您就可以自己搭建了一套集群配置系统。
集群配置系统会应用到一个成熟的分布式服务开源框架—ZooKeeper。它是Apache Hadoop的一个子项目,它主要用来解决分布式集群中的一致性问题。它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知那些已经注册的观察者做出相应的反应。
ZooKeeper Server可以集中式存放数据。ZooKeeper集群配置可以参考ZooKeeper开源文档来搭建,ZooKeeper集群由几台Server组成,Server中存放配置数据,集群的工作模式确保了数据的安全可靠。具体Java 应用程序可以通过ZooKeeperClient和ZooKeeper集群进行通信,获取项目的配置信息,同时监控配置变化。
http://www.cnblogs.com/cobbliu/archive/2011/11/04/2389009.html