开发者社区> 问答> 正文

zookeeper配置中心集群问题?:报错

zookeeper配置中心 客户端是集群环境,

我们目前的配置是存放zookeeeper里,客户端启动后,会初始化配置,并放到redis缓存里,

客户端订阅配置中心数据数据更改事件, zookeeper配置更改了,会通知各个客户端配置已更改,

但是会存在这么一个情况,每个集群里的客户端都会读取一份配置,并放入redis里,

我现在的做法是,把配置中心客户端单独抽离成一个工程,只发布一台服务器,感觉这样很low,

(我还有一个方案,就是客户端里先读取redis里的一个标识Key,如果该key没有,先往redis里一个key存入值,其他客户端订阅读取该key,如果key存在,则放弃读取配置操作,这样第一个redis里存入key的客户端在操作完毕以后,再把该key从redis里删除。。)

不知道有遇到这种情况的同学,有什么更好的方案?

展开
收起
kun坤 2020-06-06 17:07:11 518 0
1 条回答
写回答
取消 提交回答
  • 可以把key单独做成监控节点,新加的key先去创建该监控节点,如果创建成功,则去写redis,如果失败,则表明已经有,去看版本信息确定是否需要更新,删除节点也类似。

    但为什么要同时使用ZK和redis呢?redis做成集群或者slave redis不也一样效果?

    ######

    这里有个对Zookeeper的系统教程,是挺不错的:

    http://zookeeper.majunwei.com/

    ######Zookeeper+Spring跨机房容灾系统以及灰度发布
    课程观看地址:http://www.xuetuwuyou.com/course/20
    ######推荐 #XXL-CONF# ,一个分布式配置管理平台,拥有"强一致性、毫秒级动态推送、多环境、多语言、配置监听、权限控制、版本回滚"等特性。现已开放源代码,开箱即用。 http://www.xuxueli.com/xxl-conf/
    2020-06-06 17:07:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《MSE 微服务网关》 立即下载
微服务引擎 MSE 治理中心重磅发布 立即下载
阿里云微服务引擎 MSE 2.0 线上发布 立即下载