程序在运行时的动态调整的能力 无需重启服务,无需从新编译
目前分布式配置中心其实挺多的 好比 百度的disconf, 阿里的diamond,携程的disconf等。本文不是比较他们的性能优劣 只是介绍autoconf
一款高性能的分布式配置中心。用postgresql+zeromq存储数据 支持实时推,60秒定时拉。支持各类数据类型
1. 多环境:支持test/stage/product等多环境 2. 多版本:保存历史版本,可回滚版本 3. 推拉模型:实时推送变动,60秒定时拉 4. 灾备模型:本地缓存防止网络故障,redis减轻DB压力,DB作持久存储 5. 任意类型:支持KV,xml,html甚至二进制数据 6. 权限管理:分组权限管理,敏感信息加密 7. 批量修改: 建立多个同名不一样配置组的配置,批量修改多个配置文件中的同一个字符串 8. 优先级:ip:port>ip>appName>envName 9. 极速搜索 注:配置组对应的就是一套开发环境。好比test环境是一个配置组。生产环境是一个配置组 配置文件是各类配置。好比mysql配置,redis配置
从应用调用角度来看 1. 应用调用controller。 2. controller先查询redis缓存 3. 若是没有,再查询数据库 从管理员角度 1. 修改配置 2. 发送一个mq给zeromq,zeromq先暂时存储, 3. 等待60秒之后,后台会拉取mq的消息。清除缓存。并将修改存到数据库
注:配置对后台使用人员是加密的。若是要查看配置,须要相应的解密权限html
附 github地址:https://github.com/colin-lee/...mysql