<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Nepxion DiscoverySpring Cloud 服務(wù)注冊發(fā)現(xiàn)增強(qiáng)中間件

          聯(lián)合創(chuàng)作 · 2023-10-01 15:25

          Nepxion Discovery是一款對Spring Cloud的服務(wù)注冊發(fā)現(xiàn)的增強(qiáng)中間件,其功能包括多版本灰度發(fā)布,黑/白名單的IP地址過濾,限制注冊等,支持Eureka、Consul和Zookeeper。現(xiàn)有的Spring Cloud微服務(wù)可以方便引入該插件,代碼零侵入,使用者只需要做如下簡單的事情:

          • 引入相關(guān)Plugin Starter依賴到pom.xml

          • 必須為微服務(wù)定義一個版本號(version),在application.properties或者yaml的metadata里

          • 必須為微服務(wù)自定義一個便于為微服務(wù)歸類的Key,例如組名(group)或者應(yīng)用名(application),在application.properties或者yaml的metadata里,便于遠(yuǎn)程配置中心推送和灰度界面分析

          • 使用者只需要關(guān)注相關(guān)規(guī)則推送??梢圆捎萌缦路绞街?/p>

            • 通過遠(yuǎn)程配置中心推送規(guī)則

            • 通過控制臺界面推送規(guī)則

            • 通過客戶端工具(例如Postman)推送推測

          功能

          • 實(shí)現(xiàn)對基于Spring Cloud的微服務(wù)和Zuul網(wǎng)關(guān)的支持

            • 具有極大靈活性 - 支持在任何環(huán)節(jié)做過濾控制和版本灰度發(fā)布

            • 具有極小限制性 - 只要開啟了服務(wù)注冊發(fā)現(xiàn),程序入口加了@EnableDiscoveryClient

          • 實(shí)現(xiàn)服務(wù)注冊層面的控制

            • 基于黑/白名單的IP地址過濾機(jī)制禁止對相應(yīng)的微服務(wù)進(jìn)行注冊

            • 基于最大注冊數(shù)的限制微服務(wù)注冊。一旦微服務(wù)集群下注冊的實(shí)例數(shù)目已經(jīng)達(dá)到上限,將禁止后續(xù)的微服務(wù)進(jìn)行注冊

          • 實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)層面的控制

            • 基于黑/白名單的IP地址過濾機(jī)制禁止對相應(yīng)的微服務(wù)被發(fā)現(xiàn)

            • 基于版本配對,通過對消費(fèi)端和提供端可訪問版本對應(yīng)關(guān)系的配置,在服務(wù)發(fā)現(xiàn)和負(fù)載均衡層面,進(jìn)行多版本訪問控制

          • 實(shí)現(xiàn)灰度發(fā)布

            • 通過規(guī)則改變,實(shí)現(xiàn)灰度發(fā)布

            • 通過版本切換,實(shí)現(xiàn)灰度發(fā)布

          • 實(shí)現(xiàn)通過XML進(jìn)行上述規(guī)則的定義

          • 實(shí)現(xiàn)通過事件總線機(jī)制(EventBus)的功能,實(shí)現(xiàn)發(fā)布/訂閱功能

            • 對接遠(yuǎn)程配置中心,默認(rèn)集成阿里巴巴的Nacos,異步接受遠(yuǎn)程配置中心主動推送規(guī)則信息,動態(tài)改變微服務(wù)的規(guī)則

            • 結(jié)合Spring Boot Actuator,異步接受Rest主動推送規(guī)則信息,動態(tài)改變微服務(wù)的規(guī)則

            • 結(jié)合Spring Boot Actuator,動態(tài)改變微服務(wù)的版本

            • 在服務(wù)注冊層面的控制中,一旦禁止注冊的條件觸發(fā),主動推送異步事件,以便使用者訂閱

          • 實(shí)現(xiàn)通過Listener機(jī)制進(jìn)行擴(kuò)展

            • 使用者可以自定義更多的規(guī)則過濾條件

            • 使用者可以對服務(wù)注冊發(fā)現(xiàn)核心事件進(jìn)行監(jiān)聽

          • 實(shí)現(xiàn)支持Spring Boot Actuator和Swagger集成

          • 實(shí)現(xiàn)獨(dú)立控制臺,支持對規(guī)則和版本集中管理,未來考慮界面實(shí)現(xiàn)

          • 實(shí)現(xiàn)支持未來擴(kuò)展更多的服務(wù)注冊中心

          • 實(shí)現(xiàn)圖形化的灰度發(fā)布功能

          架構(gòu)

          簡單描述一下,本系統(tǒng)的核心模塊“基于版本控制的灰度發(fā)布”,從網(wǎng)關(guān)(Zuul)開始的灰度發(fā)布操作過程

          • 灰度發(fā)布前

            • 假設(shè)當(dāng)前生產(chǎn)環(huán)境,調(diào)用路徑為網(wǎng)關(guān)(V1.0)->服務(wù)A(V1.0)->服務(wù)B(V1.0)

            • 運(yùn)維將發(fā)布新的生產(chǎn)環(huán)境,部署新服務(wù)集群,服務(wù)A(V1.1),服務(wù)B(V1.1)

            • 由于網(wǎng)關(guān)(1.0)并未指向服務(wù)A(V1.1),服務(wù)B(V1.1),所以它們是不能被調(diào)用的

          • 灰度發(fā)布中

            • 新增用作灰度發(fā)布的網(wǎng)關(guān)(V1.1),指向服務(wù)A(V1.1)->服務(wù)B(V1.1)

            • 灰度網(wǎng)關(guān)(V1.1)發(fā)布到服務(wù)注冊發(fā)現(xiàn)中心,但禁止被服務(wù)發(fā)現(xiàn),網(wǎng)關(guān)外的調(diào)用進(jìn)來無法負(fù)載均衡到網(wǎng)關(guān)(V1.1)上

            • 在灰度網(wǎng)關(guān)(V1.1)->服務(wù)A(V1.1)->服務(wù)B(V1.1)這條調(diào)用路徑做灰度測試

            • 灰度測試成功后,把網(wǎng)關(guān)(V1.0)指向服務(wù)A(V1.1)->服務(wù)B(V1.1)

          • 灰度發(fā)布后

            • 下線服務(wù)A(V1.0),服務(wù)B(V1.0),灰度成功

            • 灰度網(wǎng)關(guān)(V1.1)可以不用下線,留作下次版本上線再次灰度發(fā)布

          架構(gòu)圖


          兼容

          版本兼容情況

          • Spring Cloud F版,請采用4.x.x版本,具體代碼參考master分支

          • Spring Cloud C版、D版和E版,請采用3.x.x版本,具體代碼參考Edgware分支

          • 4.x.x版本由于Swagger和Spring Boot 2.x.x版本的Actuator用法有沖突,故暫時不支持Endpoint功能,其他功能和3.x.x版本一致

          中間件兼容情況

          • Consul

          • Zookeeper

            • Spring Cloud F版,必須采用Zookeeper的3.5.x服務(wù)器版本(或者更高)

            • Spring Cloud C版、D版和E版,最好采用Zookeeper的3.5.0以下服務(wù)器版本(或者更低)

          • Eureka

            • 跟Spring Cloud版本保持一致

          瀏覽 7
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产一级免费 | 亚州无码 | 国产一级无码Av片在线观看 | 日韩91成人精品久久久电影 | 一区二区三区国产 |