high-concurrent-distributed
  • Introduction
  • RPC
    • RPC模式介绍
      • RPC概念
      • RPC核心过程/RPC需要解决的问题
      • RPC框架
    • 常见RPC技术
    • 网络协议分析
      • 网络七层
      • TCP
      • UDP
      • 应用层HTTP协议
  • 分布式系统Zookeeper
    • CAP理论
    • Zookeeper基础知识
      • Zookeeper介绍
      • Zookeeper基础
      • Zookeeper单机部署
      • Zookeeper配置文件详解、下载目录说明
      • Zookeeper工作流
      • Zookeeper CLI/客户端常用命令
      • Zookeeper leader选举
      • Java客户端介绍
        • 原生Zookeeper API
        • curator客户端
        • zkClient客户端
    • Zookeeper高级知识
      • Zookeeper集群
      • 典型的应用场景
        • 分布式配置中心
        • 分布式锁
        • 集群管理(Group Membership)
        • 统一的命名服务
        • zookeeper的注意事项
        • 队列管理
  • Dubbo框架
    • Dubbo介绍
    • Dubbo常见问题解析
Powered by GitBook
On this page

Was this helpful?

  1. 分布式系统Zookeeper
  2. Zookeeper高级知识
  3. 典型的应用场景

分布式配置中心

Previous典型的应用场景Next分布式锁

Last updated 5 years ago

Was this helpful?

配置的管理在分布式应用环境中很常见,例如同一个应用系统需要多台 PC Server 运行,但是它们运行的应用系统的某些配置项是相同的,如果要修改这些相同的配置项,那么就必须同时修改每台运行这个应用系统的 PC Server,这样非常麻烦而且容易出错。

像这样的配置信息完全可以交给 Zookeeper 来管理,将配置信息保存在 Zookeeper 的某个目录节点中,然后将所有需要修改的应用机器监控配置信息的状态,一旦配置信息发生变化,每台应用机器就会收到 Zookeeper 的通知,然后从 Zookeeper 获取新的配置信息应用到系统中。

以上摘自IMB Bluemix的文章中。

在我们使用JVM内存进行数据缓存的场景下,可以采用ZK的这种方式进行数据更新。有人说可以直接使用memcached、redis进行统一配置管理,这样直接修改redis中的数据就可以了,在对缓存数据的访问量不大的前提下,该设计是没有问题的,当数据访问量极大的时候该设计存在一个问题,就是频繁的访问memcached、redis造成大量的网络开销,进而影响系统性能。因此将数据缓存至JVM更合适一些。这里只是举了一个简单的例子,关于缓存的使用之后写一篇文章进行详细的分析。

分布式服务框架 Zookeeper – 管理分布式环境中的数据