在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分布式中灰度方案就該這樣設計

jf_ro2CN3Fa ? 來源:知了一笑 ? 2023-06-09 15:38 ? 次閱讀

一、背景簡介

分布式系統中會存在這樣的開發場景,不同需求可能涉及到對同一個服務的開發,那么該服務在研發期間就會存在多個版本并行的狀態,為了保持不同版本之間的隔離性,驗收需要將請求路由到指定版本號的服務上處理;

56f37828-05d9-11ee-962d-dac502259ad0.png

假設存在三個服務:A、B、C,且服務B和C都存在多個版本,那么讓請求按照即定的路由規則執行,即可保證研發期間的驗收是版本間隔離的,并且可以實現灰度部署的策略;

二、負載策略

在微服務系統架構中,請求在服務間轉發時會執行負載的策略,尤其當服務存在多版本號的集群模式時,很顯然常規的輪詢、權重、隨機等策略無法滿足需求;進行路由規則的自定義設計和開發是常見方式;

經典應用場景:在請求發起時,可以通過Header、Cookie、Parameter等不同的方式,攜帶路由規則的方式與參數執行匹配邏輯,從而將請求路由到指定版本的服務;

默認主分支路由

5703a608-05d9-11ee-962d-dac502259ad0.png

通常來說請求會在主干分支上執行,或者其他分支路由規則不匹配,也可以通過標識配置,判斷是否由主分支兜底,甚至是存活的任意服務兜底;

存活的服務中可能存在多個版本,但是主分支Master是否存活是服務健康與否的基本標志,常規應用中路由規則如果不匹配,會由Master服務進行兜底;

版本號統一路由

571959e4-05d9-11ee-962d-dac502259ad0.png

請求通過攜帶分支號進行統一版本路由是常用的輕量級方案,即如果請求攜帶的是2.0.0的分支,則在路由時優先匹配相關版本的服務,不匹配時由Master服務處理即可;

服務定制化路由

5727e5ea-05d9-11ee-962d-dac502259ad0.png

在請求或配置中指定各個服務的路由分支號,也是常見的匹配方案,如上圖在請求時指定服務B由1.0.0分支執行,服務C由3.0.0分支執行,其余服務在主干分支執行;

路由規則可以看做是對可用服務的匹配篩選,如果篩選出來的服務存在集群部署時,還要去執行相應的負載均衡策略,例如上圖中當服務C的3.0.0分支是集群時,路由匹配到該版本后,再通過負載均衡的策略選中其中一個服務處理請求;

三、灰度部署

當負載均衡的策略可以按照定制化開發的規則執行時,那服務的灰度發布就會容易很多,在不影響現有服務的情況下發布新版本,同時將請求按照規則分流,完成對新服務的驗收后,替換掉舊版本即可;

57327e92-05d9-11ee-962d-dac502259ad0.png

分布式系統中子服務的拆分非常多,版本開發通常只會涉及其中部分子服務,通過灰度模式將相關服務部署到線上,并且不會影響主干的服務,只有開啟特定的配置才會將請求分流到灰度服務;

流程細節

1、做好路由配置和管理,請求默認在主干服務執行;

2、部署版本涉及的相關服務,灰度層面默認不會處理請求;

3、驗收階段基于配置,將指定規則的請求路由到灰度層;

4、常用規則:攜帶分支號、灰度用戶群、比例分流、IP等;

5、完成灰度服務驗收后,將相關服務標記為主干服務;

6、將舊的主干服務下線后,即本次上線流程完整結束;

7、若發現灰度服務驗收失敗,撤掉灰度層或修改都可以;

灰度發布的模式即依賴于自定義的路由規則,以及服務在負載均衡時權重比例傾斜,這些都可以在配置中心管理,在測試時動態修改即可;

在這種模式下,灰度服務的上線或者下線幾乎是沒有明顯感知的,如果是相對簡單的流程,由測試人員驗收灰度層服務即可,如果是復雜的流程,放開一定比例的用戶流量,流程觀察沒有問題后完成升級;

四、實踐方案

1、流程設計

5741c0aa-05d9-11ee-962d-dac502259ad0.png

在灰度方案落地實踐的過程中,通常客戶端會攜帶路由規則的標識,從而將請求發送到指定服務,在規則無法正常匹配的時候,由主干服務處理,對于一些核心的開關標識在配置中心統一維護;

2、路由標識

標識獲取

通常情況下,路由的標識是在請求頭中攜帶的,這樣比較方便統一管理,常用的傳遞格式如下:

版本號統一路由:routeId:2.0.0,即所有請求優先在2.0.0分支執行;

服務定制化路由:serverC:3.0.0,請求服務C時優先在3.0.0分支執行;

在微服務的組件中獲取請求頭的方式很多,比如Gateway網關中的路由過濾器,或者服務中的攔截器,都可以獲取請求的相關參數信息,從而執行路由規則;

標識管理

自定義路由規則需要客戶端標識,雖然獲取請求中的標識并不復雜,但是將標識傳遞到路由規則中就涉及到上下文參數管理:

57572b2a-05d9-11ee-962d-dac502259ad0.png

寫階段:在過濾或攔截中獲取路由標識,寫入上下文容器;

讀階段:路由時從容器中讀取標識,基于配置信息執行規則;

請求從進入網關開始,在服務間通信時會涉及負載均衡的策略,在過濾或攔截器中將標識寫到上下文容器,執行路由規則需要讀取上下文容器,如果標識不存在則默認選擇主干服務執行請求;

3、服務選中

微服務之間通信時,選中一個服務執行請求的邏輯比較復雜,尤其在灰度模式下涉及到對路由規則的改造,即策略指定的服務優先被選中;

5761c88c-05d9-11ee-962d-dac502259ad0.png

1、從注冊中心查詢相應服務的可用列表;

2、基于路由規則,匹配符合請求標識的服務;

3、對篩選的結果列表執行負載均衡,選中服務;

在整個路由機制中,會涉及到匹配規則自定義改造,從常規的手段來看,將版本的分支號加載到服務的元數據信息中,再結合服務名稱或者IP地址,來實現對服務列表的多維度過濾,可以支撐大部分輕量級灰度策略的實現。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 路由器
    +關注

    關注

    22

    文章

    3740

    瀏覽量

    114147
  • MASTER
    +關注

    關注

    0

    文章

    104

    瀏覽量

    11302

原文標題:分布式中灰度方案就該這樣設計!

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    分布式軟件系統

    。更重要的是,NI LabVIEW 8的分布式智能提供的解決方案不僅令這些挑戰迎刃而解,且易于實施。LabVIEW 8的分布式智能具體包括: 可對分布式系統
    發表于 07-22 14:53

    LED分布式恒流原理

    需要恒流,但是電流的大小取決于應用環境,LED照明智能化發展是關鍵,分布式恒流技術充份預留智能化接口。在分布式LED驅動設計,驅動回搜、色溫可調、灰度控制都要變得方便。這是
    發表于 03-09 16:47

    一行代碼,保障分布式事務一致性—GTS:微服務架構下分布式事務解決方案

    解決方案----GTS。方案中提到的GTS是目前業界第一款,也是唯一的一款通用的解決微服務分布式事務問題的中間件,而且可以保證數據的強一致性。2 SOA
    發表于 06-05 19:14

    分布式系統的優勢是什么?

    當討論分布式系統時,我們面臨許多以下這些形容詞所描述的 同類型: 分布式的、刪絡的、并行的、并發的和分散的。分布式處理是一個相對較新的領域,所以還沒有‘致的定義。與順序計算相比、并行的、并發的和
    發表于 03-31 09:01

    HarmonyOS應用開發-分布式設計

    設計理念HarmonyOS 是面向未來全場景智慧生活方式的分布式操作系統。對消費者而言,HarmonyOS 將生活場景的各類終端進行能力整合,形成“One Super Device”,以實現
    發表于 09-22 17:11

    Qorvo分布式Wi-Fi網格解決方案

    實現互聯世界的創新RF解決方案提供商Qorvo宣布,正使用 802.11ax 產品組合擴大分布式 Wi-Fi 解決方案在住宅的適用范圍。
    發表于 11-02 07:01

    求一種分布式光伏發電監測系統解決方案

    分布式電站的形成基礎,在碳中和方案的可選項分布式光伏由于其靈活性必將被大力發展,目前已有河北、甘肅、安徽、浙江、
    發表于 09-10 06:33

    HDC技術分論壇:分布式調試、調優能力解決方案

    。DevEco Studio也將新增HarmonyOS分布式性能Profiler的整體方案,在每個設備上會自動部署一個Profiler的代理,這個代理將通過與JS執行引擎,Java執行引擎,C++性能
    發表于 10-28 16:20

    HDC2021技術分論壇:分布式調試、調優能力解決方案

    性能調優的問題,同樣也困擾著很多的開發者。DevEco Studio也將新增HarmonyOS分布式性能Profiler的整體方案,在每個設備上會自動部署一個Profiler的代理,這個代理將通過
    發表于 11-22 17:17

    HDC2021技術分論壇:如何高效完成HarmonyOS分布式應用測試?

    2.0發布以來,開發者在測試和上架HarmonyOS分布式應用過程遇到很多挑戰和困難。總體可歸納為以下三點:分布式應用上架測試通過率低:開發者提交上架的分布式應用基礎質量較差。如圖
    發表于 12-13 14:55

    如何高效完成HarmonyOS分布式應用測試?

    2.0發布以來,開發者在測試和上架HarmonyOS分布式應用過程遇到很多挑戰和困難。總體可歸納為以下三點:分布式應用上架測試通過率低:開發者提交上架的分布式應用基礎質量較差。如圖
    發表于 12-13 18:07

    【學習打卡】OpenHarmony的分布式任務調度

    、同步、注冊、調用)機制。分布式任務調度程序是能夠跨多個服務器啟動調度作業或工作負載的軟件解決方案,整個過程是不需要人來值守的。舉個例子,我們可以在一臺或多臺機器上安裝分布式調度器,用戶可以通過它在
    發表于 07-18 17:06

    分布式對象調試的事件模型

    針對事件的分布式程序調試過程,需處理大量的事件消息,如果處理不當,則會影響分布式程序的執行,提出了一種分布式對象的事件模型,采用這種模型
    發表于 12-10 17:29 ?8次下載

    springcloud 分布式事務解決方案實例

    么都執行成功,要么都執行失敗。本文將介紹如何使用Spring Cloud來實現分布式事務。 在分布式系統,使用數據庫事務來保證數據一致性是常見的做法。Spring Cloud通過集成各種分布
    的頭像 發表于 12-03 16:32 ?1169次閱讀

    分布式光纖測溫解決方案

    分布式光纖測溫解決方案
    的頭像 發表于 11-12 01:02 ?194次閱讀
    <b class='flag-5'>分布式</b>光纖測溫解決<b class='flag-5'>方案</b>
    主站蜘蛛池模板: 天天干天天看| 性色a v 一区| 又长又大又粗又硬3p免费视| 日本亚洲成人| 日本色图网站| 男女爱爱免费视频| 狠狠丁香激情久久综合| 日本三黄色大| 欧美一级高清免费播放| 婷婷丁香社区| 日韩特黄特色大片免费视频| 国产三级国产精品| 久久久免费精品视频| 黄色小视频免费| 免费观看的黄色网址| 日本免费观看网站| 伦理一区二区三区| 成人午夜性视频欧美成人| 亚州黄色网址| 四虎永久在线观看视频精品| 在线高清一级欧美精品| 色爱区综合五月激情| 亚洲资源在线观看| 中文字幕欧美日韩| 中文字幕天堂| 四虎新地址| 加勒比色综合| 天天在线看片| 国产色爽免费视频| 91桃色国产线观看免费| www懂爱| 手机看片日韩在线| 日本免费黄色网址| 色综合天天| 视频免费在线观看| 中国毛茸茸bbxx| 色色视频网| 欧美a在线| 5月色婷婷| 97se亚洲综合| 在线a免费|