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 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 亚洲中文字幕乱码一区| 久久精品一区二区三区AV| 国产成人精品久久一区二区三区| 蜜桃视频一区二区| 成人区精品一区二区不卡| 97久久精品无码一区二区天美| 日本一区午夜爱爱| 一区二区三区高清| 无码人妻精品一区二区三区在线 | 国产精品成人一区二区三区| 无码精品人妻一区二区三区漫画| 国产在线一区二区在线视频| 无码毛片一区二区三区视频免费播放| 人妻无码第一区二区三区| 熟女性饥渴一区二区三区| 国产精品污WWW一区二区三区| 精品无码成人片一区二区| 国产精品电影一区| 学生妹亚洲一区二区| 亚洲AV日韩AV一区二区三曲| 国产精品视频一区二区三区四| 黑人大战亚洲人精品一区| 国产午夜精品一区理论片飘花| 亚洲日本中文字幕一区二区三区| 日韩精品人妻av一区二区三区| 国产中文字幕一区| 人妻内射一区二区在线视频| 日韩十八禁一区二区久久| V一区无码内射国产| 高清一区二区三区| 久久一区二区免费播放| 国产在线无码视频一区二区三区| 国产成人精品视频一区二区不卡 | 97久久精品无码一区二区| 无码国产精品一区二区免费| 欧美日韩一区二区成人午夜电影| 亚洲一区二区久久| 国精产品999一区二区三区有限| 国精产品999一区二区三区有限| 色综合视频一区二区三区| 国产成人精品一区二区三区无码|