Consul Config 使用Git做版本控制的實現,consulgit

image

我們通過git 把配置文件推送到遠程倉庫做版本控制,當版本發生變化的時候,遠程倉庫通過webhook機制推送消息給 Config Server,Config Server 將修改通知發送到消息總線,然后所有的Config Client 進行配置刷新。愛掏網 - it200.com
非常巧妙的借助了Git來做配置文件修改的版本控制。愛掏網 - it200.com

public enum Format {
    /**
     * Indicates that the configuration specified in consul is of type native key values.
     */
    KEY_VALUE,

    /**
     * Indicates that the configuration specified in consul is of property style i.e.,
     * value of the consul key would be a list of key=value pairs separated by new lines.
     */
    PROPERTIES,

    /**
     * Indicates that the configuration specified in consul is of YAML style i.e., value
     * of the consul key would be YAML format
     */
    YAML,

    /**
     * Indicates that the configuration specified in consul uses keys as files.
     * This is useful for tools like git2consul.
     */
    FILES,

}

Consul 提供以上的策略,key/value、yaml、properties,可以很簡單的通過Consule Config 的管理臺進行配置,我們主要來看FILES,就是我們也是Cloud Config 一樣,通過Git 來做版本控制,只是用Consul 做配置的分發和修改的通知愛掏網 - it200.com
原生的Consul不支持Git來做,需要借助Consul 社區提供的另外一個工程 git2consul
非常簡單就下載就安裝好了。愛掏網 - it200.com
主要來講一下初始化腳本的 git2consul.json

{
    "version":"1.0",
    "local_store": "本地倉庫備份地址",
    "logger":{
        "name":"git2consul",
        "streams":[
            {
                "level":"trace",
                "type":"rotating-file",
                "path":"生成日志路徑/git2consul.log"
            }
        ]
    },
    "repos":[
        {
            "name":"pig-config",
            "url":"遠程倉庫地址",
            "include_branch_name" : true,  //分支信息是否包含到請求中,建議使用
            "branches":[
                "dev"
            ],
            "hooks":[  
                {
                  "type" : "polling", //更新策略定時刷新的
                  "interval" : "1"   //1分鐘
                }
            ]
        }
    ]
}

啟動時候指定上邊的腳本

./git2consul --config-file git2consul.json
spring:
  application:
    name: pig-auth
  cloud:
    consul:
      host: localhost
      port: 8500
      config:
        enabled: true
        format: FILES
        watch:
          enabled: true
        prefix: ${spring.application}/${spring.profiles.active}
  profiles:
    active: dev

OK 已經可以使用了 git2consul 來同步你的配置文件啦。愛掏網 - it200.com

image

如上圖,我配置文件的例子。愛掏網 - it200.com

FILES機制和Spring Cloud Config加載類似,application.yml 會被所有微服務模塊加載公用,對應的application-name.yml 會被對應的微服務加載。愛掏網 - it200.com

  1. 經過整合Consul Config 已經完成了和Spring Cloud Config 相同的功能,Spring Cloud 微服務使用配置文件過程中并沒有太大區別。愛掏網 - it200.com
  2. 實時刷新機制和前文[《Consul微服務的配置中心體驗篇》]提到的KEY-VALUE模式沒有什么區別,git2consul 不僅支持webhook 的push,而且可以輪詢pull,類似于 Apollo 配置中心的部分功能
    1. [關于pig:基于Spring Cloud、oAuth2.0開發基于Vue前后分離的開發平臺,支持賬號、短信、SSO等多種登錄,提供配套視頻開發教程]
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 中文天堂在线www| 国产aa免费视频| 亚洲中文字幕在线无码一区二区| 99久久人妻精品免费一区| 男女一边摸一边做爽视频| 性放荡日记高h| 又嫩又硬又黄又爽的视频| 两根手指就抖成这样了朝俞| 美女扒开尿口给男人看的让| 成人毛片全部免费观看| 哈昂~哈昂够了太多太深小说| 中文字幕日韩哦哦哦| 精品天海翼一区二区| 好大好湿好硬顶到了好爽视频 | 有坂深雪初尝黑人在线观看| 国产精品99无码一区二区| 亚洲一区二区三区高清视频| 日本最新免费网站| 日韩精品无码人妻一区二区三区| 国产成人av区一区二区三| 久久伊人色综合| 色噜噜在线视频| 富二代琪琪在线观看| 亚洲综合日韩在线亚洲欧美专区| 91精品国产高清久久久久| 欧美性69式xxxx护士| 国产成人午夜精华液| 久久久久国产精品免费免费搜索 | 欧美一级美片在线观看免费| 国产欧美在线观看| 久久久久亚洲精品中文字幕| 给我免费播放片黄色| 天天做天天爱夜夜爽毛片毛片 | 在线日本中文字幕| 亚洲国产成人va在线观看网址| 孩交videos精品乱子豆奶视频| 日产精品卡2卡三卡乱码网址| 再深点灬舒服灬太大了免费视频| av成人免费电影| 欧美videosex性欧美成人| 国产乱码精品一区三上|