基于zookeeper的分布式一致性配置中心
2017-05-22 22:17
260 查看
当同一个项目部署多个节点,或者多个项目部署在不同的jvm实例上,因为没办法共享内存。那共享项目的配置参数就成了一个问题,当然解决的办法很多,一起读数据库,一起读redis/memcahed,读本地缓存,修改的时候再一个个去触发。这些方案或多或少都会有效率或者时效性比较低的问题。
可能是被人问多了几次,我觉得用zk来实现这种配置中心的方案也是很方便的,不怕效率问题的,就实时去读zk。兼顾效率和时效性的就有了下面这种实现。
![](https://img-blog.csdn.net/20170522220910082?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaW1sc3o=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
每个项目的本地缓存初始化会主动去读取zk集群中相关配置,同时会监听对应配置的改变,及时修改本地的内容。而我们的项目每次只需要读取其中的本地缓存中的配置即可。本项目内,缓存配置的读写采用了本地读写锁。而跨项目之间的配置的写和更新,则采用了zk实现的分布式读写锁。具体的实现,可以看https://github.com/linsongze/consistent_config
可能是被人问多了几次,我觉得用zk来实现这种配置中心的方案也是很方便的,不怕效率问题的,就实时去读zk。兼顾效率和时效性的就有了下面这种实现。
每个项目的本地缓存初始化会主动去读取zk集群中相关配置,同时会监听对应配置的改变,及时修改本地的内容。而我们的项目每次只需要读取其中的本地缓存中的配置即可。本项目内,缓存配置的读写采用了本地读写锁。而跨项目之间的配置的写和更新,则采用了zk实现的分布式读写锁。具体的实现,可以看https://github.com/linsongze/consistent_config
相关文章推荐
- 基于Dubbo的分布式系统架构-Zookeeper注册中心的安装
- 基于zookeeper的配置管理中心
- 基于zookeeper的配置中心
- 基于Solr和Zookeeper的分布式搜索方案的配置
- 第6章:基于zookeeper的配置管理中心
- 基于Dubbo的分布式系统架构(一):安装ZooKeeper注册中心(单机版)
- Zookeeper 实现分布式配置中心
- 基于shibboleth的分布式认证之SP配置
- SolrCloud:基于Solr和Zookeeper的分布式搜索
- 分布式设计与开发(三)------高一致性服务ZooKeeper
- 基于ZooKeeper的Dubbo注册中心
- 基于shibboleth的分布式认证之IDP配置
- zookeeper的部署与配置(单机、模拟分布式、真正分布式)
- 基于ZooKeeper的Dubbo注册中心
- 基于solr和zookeeper的分布式搜索方案
- 分布式设计与开发(三)------高一致性服务ZooKeeper
- zookeeper分布式配置管理
- 配置密码分布式集群环境hadoop、hbase、zookeeper搭建(全)
- 基于Solr和Zookeeper的分布式搜索方案SolrCloud