网站大量收购独家精品文档,联系QQ:2885784924

刘宇-高效可靠的配置管理系统设计与实现.pdf

刘宇-高效可靠的配置管理系统设计与实现.pdf

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高效可靠的配置管理系统 设计与实现 易到用车 刘宇 关于我 ?? 毕业于北京邮电大学计算机学院 ?? 曾混迹于西门子、Motorola、Yahoo中国、淘宝、 OpenTV等公司 ?? 现就职于易到用车担任架构师 ?? 参与过路由交换设备、手机App、机顶盒、互联 网前后端的开发工作 提纲 ?? 痛点在哪里 ?? 为什么要重新造轮子 ?? 目标是什么 ?? 总体架构及实现细节 痛点在哪里 ?? 配置文件和代码耦合在一起 ?? 多环境下配置不一致,增加开发、测试工作量 ?? 新建环境难度大,不利于业务的飞速增长 ?? 无权限控制,安全性差 ?? 由于配置引起的错误,不能迅速定位问题 ?? 各个应用独自管理配置,效率低 为什么要重新造轮子 360 QConf Super-Diamond 数据结构 Key/Value Key/Value 管理后台 不开源 功能较简单 实现语言 C JAVA 依赖 ZooKeeper - 目标是什么(1) ?? 所有环境配置项集中管理,一处修改,相应机器 实时同步更新 ?? 分布式设计,高可用,对于服务器宕机,升级等 情况对客户端透明 ?? 所有系统资源统一管理,以引用的方式提高配置 效率 ?? 支持API方式修改、发布配置项 ?? 分环境,分应用的权限控制 目标是什么(2) ?? 管理后台提供对环境,应用,资源和配置项的添 加,查询WEB接口,并支持快速环境复制,以及 批量配置等功能提高配置效率 ?? 配置项支持多次改动,一键发布,及时生效的功 能 ?? 客户端部署方便,使用简单,支持C,PHP语言接 口 ?? 基于每个配置项的日志功能,方便定位问题和审 计 网络拓扑 总体架构 配置中心 ?? 配置中心角色分别部署于各个环境 ?? 建议每个环境至少部署两个中心,每个中心的地 位对等 ?? 配置中心可同时为多个环境服务,即Cache不同 环境的配置项 ?? 配置中心缓存每个环境配置项及其变化信息 (Changelist),Changelist用于实现Agent的 增量更新 ?? 中心以daemon方式运行 客户端AgentSDK(1) ?? Agent与配置中心之间以TCP长连接通信,以私有 协议获取配置项,消息体以json做为格式 ?? Agent定时轮询中心配置项的变化,并进行增量 更新 ?? Agent的缓存以共享内存的方式实现 ?? App通过SDK在Agent的缓存中查找配置项 ?? Agent以daemon方式运行 客户端AgentSDK(2) 客户端AgentSDK(3) ?? SDK目前提供C、PHP接口 ?? 调用示例 $value = yc_config_get(demo.key); ?? 返回值 失败:false 成功:String、List或者Map 客户端AgentSDK(4) ?? String类型 10.0.0.1:3306 ?? List类型 array( 10.0.0.1:3306, 10.0.0.2:3306) ?? Map类型 array( host = 10.0.0.1, port = 3306, user = demo) 管理后台 (1) ?? 以集中方式管理所

文档评论(0)

精品资源 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档