看到群里有人提了下360的一个分享,是有关集群式配置管理的, 项目的名字叫做Qconf 。

HI , 最近爬虫很凶猛,标注下原文地址,blog.xiaorui.cc

作为屌丝的我,真是没有机会去上海的中华架构师大会,但是感觉这次会上的内容还是比较的有趣的。 

演讲主题:集中式配置管理系统QConf简介

演讲简介:QConf是一个集中式配置管理工具,能实现配置信息对业务的完全透明化。通常情况下,每个业务服务器有自己的配置,当有配置需要变动的时候,所有的业务服务器都需要更新一遍(无论是使用人工还是脚本的方式)。而使用QConf把所有的配置进行集中管理,取代了传统意义上的配置文件,实现了程序代码与配置信息的完全分离,并能提供方便友好的Web使用界面。

朱超以前搞的atlas mysql代理很是牛逼, 这次我也很是期待。 他们部门开源精神值得点赞,然而我自己以前也实现了集中式的配置管理,当时现在是限于LVS,nginx。聚美优品那边貌似貌似实现了把一些常用的配置也都push到mongodb里面。 

360 Qconf的实现方式,我不得而知。 但是感觉配置的集中,不外乎就是完全的存入,还有就是动态的模板。 

完全的存入,这个比较的简单,就是把nginx.conf squid.conf直接存入库里面,不管你是mysql或者mongodb。动态的意思是,把各个集群中,容易变动的值,提取出来,然后被扣出来的配置点,达成 {}  {}  {} 配置对。 


开源的集中式配置管理有个叫做etcd的东西,这个是kv结构的,不知道和qconf有啥区别,估计是更切近他们的业务。 


360的atlas群里,说是考虑把Qconf在明年的时候开源,感觉好时尚呀。 

那么我在这里额外的提下关于集中式配置系统Etcd的相关介绍。


架构特点
● 最上(前)面的服务调用下层的服务
● 一层一层的调用关系
● 上层服务通过配置文件指定如何连接后面服

手动档
● 服务调用方有配置文件来决定连接后端
● 后端服务器增加或者减少要手动修改前端的
配置文件

自动档
● 后端服务器增加或者减少可以让前端自动的
感知到
● 快速大批量部署方便,一次部署几十台到几百
台后端服务器,前端迅速感知

实现原理
● 存在一个中心配置节点
● 服务提供方会持续的向配置节点注册服务
● 服务调用方会持续的读取中心配置节点的配
置并修改本机配置,然后reload服务

技术组件选用
● docker,快速部署的不二之选
● nginx,前端服务,服务调用方
● py server,后端服务,服务提供方
● etcd,中心配置管理节点
● django template,从etcd读取的配置参数结合
模板,生成最终配置文件
● 服务发现脚本,服务注册脚本

模板生成配置etcd2nginx.py

那么通过模板渲染后的结果,

只想说声,干尼玛呀,这Etcd 的一些个观念和思想,居然和我以前在乐视开发的LVS集群配置平台和最后离职前开发的统一配置平台 一样一样的。  说明哥以前的想法绝对是对的 !!

号外号外,今天问了360的朋友,他说 qconf是用zookeeper做的调度,具体模板渲染啥的,貌似是没有用的样子,感觉一头雾水。 



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!
暂无相关产品

4则回应给“畅想360集中式配置管理系统QConf和另一个Etcd的开发实现”

  1. cubegun说道:

    搞得太复杂了,

  2. 360ops说道:

    不会吧,我们的产品其实和你描述不一样

发表评论