关闭

基于Zookeeper的配置管理中心

发表于:2016-7-28 11:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李世海    来源:51Testing软件测试网采编

  说明:
  本系列的文章,是希望能够通过一些列的实例,来达到对python学以致用的目标,其中的代码可能并不完美,结构设计可能有不合理的地方,如果您读到此处,希望能够得到您诚恳的建议.
  zookeeper是什么
  https://zookeeper.apache.org/
  zookeeper的用途
  数据发布与订阅(配置中心)
  负载均衡
  命名服务(Naming Service)
  分布式通知/协调
  集群管理与Master选举
  分布式锁
  分布式队列
  为什么要实现这样的一个实例:
  当在一个集群规模的环境中,多台同类型的应用使用同样的配置文件,为了避免登陆每台机器修改配置,为了减少人为的修改导致配置不一致,为了实现配置文件的统一管理、版本控制,那么就有必要实现一个配置管理中心的应用。
  实例用到的软件
  python (3.4.2)
  zookeeper (3.4.8)
  kazoo (2.2.1)
  tornado (4.3)
  配置管理中心实现了哪些功能
  0. 标准的key value的配置文件几个
  1. 基于web页面的配置文件的增删改查
  2. 同一个app下多个配置文件
  3. 版本管理,当前版本,历史版本管理
  4. 数据持久化保存
  5. 非标准的key value配置文件的管理
  6. 客户端watcher的实现
  配置管理中心的原理
 
zookeeper节点的设计
/conf
|
|-------appid
|            |
|            |------conf_name
|
|-----key1
|
|-----key2
|
|------version
|
|---history
|
|---current
conf:    zookeeper的跟节点
appid:  app的名称
conf_name:  配置文件名称
key:    配置文件中的key,对应存储的值为value
version:  版本控制节点
history:  历史版本
current: 当前版本
  例如想管理一个名称叫app1的应用,它的配置文件为app1.conf
  app1.conf的内容为:
  vim app1.conf
  host=127.0.0.1
  username='hans'
  那么对应的节点为:
  /conf/app1/app1.conf/host
  web界面展示
  显示
  
list.png
  创建
 
 create.png
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号