程序在運行時的動態調整的能力 無需重啓服務,無需從新編譯
目前分佈式配置中心其實挺多的 好比 百度的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