日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

為Spring Cloud服務(wù)配置標簽路由

標簽路由通過標簽將一個或多個服務(wù)的提供者劃分到同一個分組,從而約束流量只在指定分組中流轉(zhuǎn),實現(xiàn)流量隔離的目的。標簽路由可以作為多版本開發(fā)測試、同應(yīng)用的多版本流量隔離以及A/B Testing等場景的能力基礎(chǔ)。本文介紹如何為Spring Cloud服務(wù)配置標簽路由。

背景信息

標簽路由目前僅支持ECS集群中的應(yīng)用。

應(yīng)用場景

多版本開發(fā)測試

多個版本并行開發(fā)時,需要為每個版本準備一套開發(fā)環(huán)境。如果版本較多,開發(fā)環(huán)境成本會非常大。流量隔離方案可以在多版本開發(fā)測試時大幅度降低資源成本。

使用基于標簽路由的全鏈路流量隔離機制,可以將特定的流量路由到指定的開發(fā)環(huán)境。例如,在開發(fā)環(huán)境1中,為應(yīng)用B(V1.1)和應(yīng)用D(V1.1)創(chuàng)建Tag1標簽,并配置對應(yīng)的路由規(guī)則。入口應(yīng)用A調(diào)用B時,會判斷流量是否滿足路由規(guī)則。如果滿足,路由到開發(fā)環(huán)境1中應(yīng)用B的V1.1版本;如果不滿足,路由到基線環(huán)境中的應(yīng)用B的V1版本。應(yīng)用C調(diào)用應(yīng)用D時,同樣根據(jù)流量決定路由到應(yīng)用D的V1版本或V1.1版本。

多版本開發(fā)測試

相同應(yīng)用的多版本間流量隔離

如果一個應(yīng)用有多個版本在線上同時運行,部署在不同環(huán)境中,例如日常環(huán)境和特殊環(huán)境。那么可以使用標簽路由對不同環(huán)境中的不同版本進行流量隔離,將秒殺訂單流量或不同渠道訂單流量路由到特殊環(huán)境,將正常的流量路由到日常環(huán)境。即使特殊環(huán)境異常,本應(yīng)進入特殊環(huán)境的流量也不會進入日常環(huán)境,從而不會影響日常環(huán)境的使用。

相同應(yīng)用的多版本間流量隔離

A/B Testing

線上有多個應(yīng)用版本同時運行,期望對不同版本的應(yīng)用進行A/B Testing。那么可以使用標簽路由的全鏈路流量控制功能,將地域A的客戶流量路由到V1版本,地域B的客戶流量路由到V1.1版本。通過對不同版本的驗證,達到降低新產(chǎn)品或新特性的發(fā)布風險,為產(chǎn)品創(chuàng)新提供保障的目的。

A/B Testing

操作流程

假設(shè)ECS集群中部署了應(yīng)用A,該應(yīng)用有一個默認分組,共包含3個應(yīng)用實例。

標簽路由流程如下:

  1. 創(chuàng)建標簽

    1. 為應(yīng)用A新建兩個分組:group1和group2。

    2. 將默認分組下的2個應(yīng)用實例分別更換到分組group1和group2。

    3. 分別為group1和group2分組創(chuàng)建標簽路由中的標簽。

  2. 創(chuàng)建標簽路由規(guī)則:基于group1和group2的標簽分別創(chuàng)建標簽路由規(guī)則。

標簽路由創(chuàng)建完成后,當應(yīng)用B調(diào)用應(yīng)用A時,流量會根據(jù)規(guī)則被路由到group1和group2。其它不滿足group1和group2的路由規(guī)則的流量會被路由到默認分組。

創(chuàng)建標簽

在應(yīng)用中新建分組,并為該分組添加實例,然后通過分組的JVM設(shè)置為該分組創(chuàng)建標簽。

  1. 登錄EDAS控制臺

  2. 為應(yīng)用創(chuàng)建應(yīng)用分組。具體操作,請參見創(chuàng)建分組

  3. 為新建分組添加實例,可以將默認分組中的實例更換到新建分組,也可以對新建分組進行擴容。具體操作,請參見添加實例

    重要

    從默認分組中更換到新建分組的應(yīng)用實例需要重啟才能識別標簽。新建分組中擴容的實例無需重啟。

  4. 在新建分組右上角單擊分組設(shè)置,在列表中單擊JVM

    分組設(shè)置-JVM
  5. 分組設(shè)置對話框,單擊自定義。在展開的自定義區(qū)域,打開自定義開關(guān),并在配置內(nèi)容的文本框中設(shè)置分組標簽,然后單擊配置JVM參數(shù)

    分組標簽通過自定義參數(shù)設(shè)置,格式為-Dalicloud.service.tag=tag1,其中,tag1為標簽名稱,請根據(jù)實際業(yè)務(wù)需求設(shè)置。

    分組設(shè)置-JVM-自定義
  6. 重啟應(yīng)用。

    • 方式一:在應(yīng)用列表頁面,選中應(yīng)用后,單擊批量重啟,在確認對話框,單擊確定

    • 方式二:在應(yīng)用列表頁面,單擊應(yīng)用名稱,在基本信息頁面右上角,單擊停止應(yīng)用啟動應(yīng)用

    說明

    自定義JVM參數(shù)需重啟應(yīng)用才能生效。

創(chuàng)建標簽路由規(guī)則

標簽(即分組)創(chuàng)建完成后,需要分別基于不同標簽創(chuàng)建路由規(guī)則。

  1. 登錄EDAS控制臺

  2. 在左側(cè)導航欄,選擇流量管理 > 微服務(wù)治理 > Spring Cloud

  3. Spring Cloud左側(cè)導航欄,單擊標簽路由

  4. 標簽路由頁面,選擇微服務(wù)空間,然后單擊創(chuàng)建標簽路由

  5. 創(chuàng)建標簽路由面板設(shè)置參數(shù),然后單擊確定

    創(chuàng)建標簽路由

    標簽路由參數(shù)說明:

    配置項

    說明

    微服務(wù)空間

    左側(cè)為地域列表,右側(cè)為微服務(wù)空間列表,根據(jù)實際情況選擇。

    路由名稱

    標簽路由規(guī)則名稱,例如label-routing-group1

    描述

    規(guī)則描述。

    應(yīng)用

    在下拉列表中選擇應(yīng)用。

    標簽

    在下拉列表中選擇標簽,即為應(yīng)用新建分組設(shè)置的自定義JVM參數(shù)-Dalicloud.service.tag的值。

    選擇完成后,在下方應(yīng)用實例區(qū)域會顯示該分組下的實例的IP。

    是否鏈路傳遞

    如果需要使用全鏈路流控,請打開是否鏈路傳遞開關(guān)。

    說明

    由于目前全鏈路流控處于灰度發(fā)布中,所以如需使用該功能,請加入釘釘交流群(群號:31723701),聯(lián)系EDAS技術(shù)支持人員。

    流量規(guī)則

    框架類型

    包含Spring CloudDubbo,根據(jù)應(yīng)用實際框架選擇。

    • Spring Cloud:僅支持設(shè)置URL的Path,例如/getIp

    • Dubbo:支持選擇服務(wù)和接口。

    Path

    HTTP的相對路徑。

    條件模式

    包含同時滿足下列條件滿足下列任一條件,根據(jù)實際需求選擇。

    條件列表

    可以分別設(shè)置Parameter、Cookie、Header和Body Content四種類型的參數(shù)。例如:

    • Parameter:name=xiaoming

    • Cookie:hello = "world" 或 "world2"

結(jié)果驗證

本文僅通過一個示例介紹如何為應(yīng)用創(chuàng)建標簽路由,您可以為應(yīng)用參照配置,然后根據(jù)實際業(yè)務(wù)需求進行驗證。

  • 默認100%流量會按照規(guī)則,調(diào)用到tag1節(jié)點。

    image..png
  • 匹配規(guī)則的流量,會調(diào)用到對應(yīng)標簽的節(jié)點。

    image..png