springbootconfig程序员

基于zookeeper的web集群配置管理方案

2016-11-24  本文已影响359人  digger30

在web项目中都会有一些配置信息,如appkey、IP白名单等。这些配置信息数量少,一般会保存到内存、文件或者数据库。有的时候需要动态更新这些配置。当需要在多个应用服务器中修改这些配置文件的时候,需要做到快速、简单、不停止应用服务器的方式修改并同步配置信息到所有应用中去。

可用的的web集群配置方案

基于Zookeeper的集群配置管理方案

直接将配置信息保存在Zookeeper中,或者把属性文件内容保存到Zookeeper,当属性文件内容发生变化时,就通知web应用去重新读取配置文件。

这里采用的是Zookeeper的发布与订阅模式,就是发布者将数据发布到Zookeeper的节点上,供订阅者获取数据,实现配置信息的集中式管理和动态更新。使用场景:应用在启动的时候会主动来获取一次配置,同时,在节点上注册一个watcher,这样一来,以后每次配置有更新的时候,都会实时通知到订阅的客户端,从而获取最新的配置信息。这样的场景适合数据量很小,但是数据更新可能比较快的需求。

基于Zookeeper的集群配置管理方案优点

借助Zookeeper实现的配置信息管理方案有如下优点:

  1. 简单。修改配置的整个过程变的非常简单,用户只需要修改配置,无需进行其他任何操作,配置自动生效
  2. 可靠。Zookeeper服务集群具有无单点失效的特性,使整个系统更加可靠。即使Zookeeper集群中的一台机器失效,也不会影响整体服务,更不会影响应用配置的更新
  3. 实时。Zookeeper的数据更新通知机制,可以在数据发生变化后,立即通知给分布式应用程序,具有很强的变化响应能力。
上一篇 下一篇

猜你喜欢

热点阅读