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

基于Java服務(wù)網(wǎng)關(guān)實(shí)現(xiàn)全鏈路灰度

更新時(shí)間:

通過(guò)SAE提供的全鏈路灰度功能,您可以輕松實(shí)現(xiàn)全面的流量控制,而無(wú)需更改您的業(yè)務(wù)代碼。本文主要介紹如何配置SAE全鏈路灰度,以Java服務(wù)網(wǎng)關(guān)為例,介紹如何實(shí)現(xiàn)端到端的灰度部署。

前提條件

已開(kāi)通MSE微服務(wù)治理專(zhuān)業(yè)版或企業(yè)版。具體操作,請(qǐng)參見(jiàn)開(kāi)通MSE微服務(wù)治理

使用限制

  • 全鏈路灰度僅適用于2023年11月08日起新建的微服務(wù)應(yīng)用。

  • 全鏈路灰度功能僅支持在新版控制臺(tái)中使用。

  • 由于全鏈路灰度功能整合了標(biāo)簽路由功能(此處指的是MSE微服務(wù)治理的標(biāo)簽路由,與MSE云原生網(wǎng)關(guān)的標(biāo)簽路由無(wú)關(guān)),因此不推薦已經(jīng)加入全鏈路灰度的應(yīng)用配置金絲雀發(fā)布和標(biāo)簽路由規(guī)則。

    限制項(xiàng)與限制值

    限制項(xiàng)

    限制值

    備注

    Spring Cloud版本

    Spring Cloud Edgware及以上版本

    無(wú)。

    Dubbo版本

    2.5.3~2.7.8

    Dubbo 3.0及以上版本當(dāng)前處于灰度中,如有場(chǎng)景需求,請(qǐng)提工單聯(lián)系MSE技術(shù)支持。

    客戶端類(lèi)型

    • Resttemplate

    • Spring Cloud OpenFeign

    無(wú)。

    Java應(yīng)用JDK版本

    目前支持JDK 6、7、8版本應(yīng)用接入

    JDK 11版本當(dāng)前處于灰度中,如有場(chǎng)景需求,請(qǐng)提工單聯(lián)系MSE技術(shù)支持。

    負(fù)載均衡類(lèi)型

    • Ribbon 2.0.x及以上版本

    • LoadBalancer 3.0.x及以上版本

    無(wú)。

    Spring Cloud Gateway版本

    Spring Cloud Gateway 2.1.0.RELEASE及以上版本

    無(wú)。

名詞解釋

  • 泳道:為相同版本應(yīng)用定義的一套隔離環(huán)境。只有滿足了流控路由規(guī)則的請(qǐng)求流量才會(huì)路由到對(duì)應(yīng)泳道里的打標(biāo)應(yīng)用。一個(gè)應(yīng)用可以屬于多個(gè)泳道,一個(gè)泳道可以包含多個(gè)應(yīng)用,應(yīng)用和泳道是多對(duì)多的關(guān)系。

  • 泳道組:泳道的集合。泳道組的作用主要是為了區(qū)分不同團(tuán)隊(duì)或不同場(chǎng)景。

  • 基線環(huán)境:未打標(biāo)的應(yīng)用屬于基線環(huán)境,是其他環(huán)境的兜底環(huán)境。

場(chǎng)景示例

本文通過(guò)模擬真實(shí)的調(diào)用鏈路為您演示全鏈路灰度功能。您無(wú)需修改任何業(yè)務(wù)代碼,只需要給入口應(yīng)用設(shè)置流量規(guī)則,該流量的標(biāo)簽會(huì)通過(guò)鏈路透?jìng)鞯较乱粋€(gè)應(yīng)用中。在每個(gè)應(yīng)用的調(diào)用過(guò)程中,符合規(guī)則的流量會(huì)優(yōu)先調(diào)用到對(duì)應(yīng)的灰度應(yīng)用,如果沒(méi)有對(duì)應(yīng)的灰度應(yīng)用則會(huì)自動(dòng)切換回基線應(yīng)用。

各測(cè)試應(yīng)用部署如下表所示:

應(yīng)用

基線應(yīng)用

灰度應(yīng)用

灰度應(yīng)用上的標(biāo)簽

A

sc-a

sc-a-a1

alicloud.service.tag:g1

sc-a-a2

alicloud.service.tag:g2

B

sc-b

sc-b-b1

alicloud.service.tag:g2

C

sc-c

sc-c-c1

alicloud.service.tag:g1

sc-c-c2

alicloud.service.tag:g2

Jave服務(wù)網(wǎng)關(guān)

sc-gw

無(wú)

無(wú)

流量分發(fā)示意圖如下所示:

image

正常流量調(diào)用鏈路:

Java服務(wù)網(wǎng)關(guān) -> 應(yīng)用sc-a -> 應(yīng)用sc-b -> 應(yīng)用sc-c。

標(biāo)簽流量調(diào)用鏈路:

  • t=g1流量:Java服務(wù)網(wǎng)關(guān) -> 應(yīng)用sc-a-a1 -> 應(yīng)用sc-b -> 應(yīng)用sc-c-c1。

  • t=g2流量:Java服務(wù)網(wǎng)關(guān) -> 應(yīng)用sc-a-a2 -> 應(yīng)用sc-b-b2 -> 應(yīng)用sc-c-c2。

步驟一:搭建微服務(wù)應(yīng)用的基線應(yīng)用

SAE控制臺(tái)部署使用鏡像部署sc-a、sc-b、sc-c、sc-gw(Java服務(wù)網(wǎng)關(guān))這四個(gè)基線應(yīng)用。

  1. 登錄SAE控制臺(tái),在左側(cè)導(dǎo)航欄選擇應(yīng)用管理 > 應(yīng)用列表,然后選擇目標(biāo)地域和目標(biāo)命名空間,最后單擊創(chuàng)建應(yīng)用

    xxQdc1LHvq

  2. 創(chuàng)建應(yīng)用頁(yè)面,根據(jù)下表的說(shuō)明完成應(yīng)用部署。

    配置區(qū)域

    配置項(xiàng)

    說(shuō)明

    基礎(chǔ)信息設(shè)置區(qū)域

    應(yīng)用名稱(chēng)

    自定義應(yīng)用名稱(chēng)。名稱(chēng)為1~36個(gè)字符,可包含數(shù)字、字母以及中劃線(-),必須以字母開(kāi)頭。

    應(yīng)用描述

    介紹應(yīng)用的基本情況。

    命名空間類(lèi)型

    可選擇的類(lèi)型有以下兩種:

    • 系統(tǒng)創(chuàng)建:應(yīng)用會(huì)創(chuàng)建在目標(biāo)地域下的默認(rèn)命名空間內(nèi),例如cn-shanghai。

    • 選擇已有命名空間:從下拉列表選擇已創(chuàng)建的自定義命名空間交換機(jī) vSwitch安全組

    應(yīng)用部署方式

    1. 選擇鏡像部署,然后單擊設(shè)置鏡像

    2. 在彈出的設(shè)置鏡像面板中,請(qǐng)按照以下說(shuō)明進(jìn)行部署。

      1. 技術(shù)棧語(yǔ)言:選擇目標(biāo)語(yǔ)言。

      2. 語(yǔ)言環(huán)境:在下拉框中選擇對(duì)應(yīng)語(yǔ)言的應(yīng)用運(yùn)行環(huán)境。

      3. 鏡像服務(wù)版本:選擇鏡像服務(wù)個(gè)人版或鏡像服務(wù)企業(yè)版

      4. 單擊鏡像倉(cāng)庫(kù)命名空間,選擇鏡像倉(cāng)庫(kù)命名空間。

      5. 單擊目標(biāo)鏡像倉(cāng)庫(kù)名稱(chēng)選擇鏡像版本列的下拉框,選擇鏡像版本。

    3. 單擊確定

    容量設(shè)置

    單實(shí)例規(guī)格

    設(shè)置單實(shí)例的CPU和內(nèi)存,取值范圍為[1,50]。默認(rèn)值為2。

    實(shí)例數(shù)

    設(shè)置實(shí)例個(gè)數(shù),取值范圍為[1,50]。默認(rèn)值為2。

  3. 單擊下一步:高級(jí)設(shè)置,進(jìn)行高級(jí)配置。具體步驟,請(qǐng)參見(jiàn)高級(jí)配置

  4. 單擊創(chuàng)建應(yīng)用

步驟二:開(kāi)啟基線環(huán)境的微服務(wù)治理功能

重要

全鏈路灰度為MSE微服務(wù)治理專(zhuān)業(yè)版功能,鏈路中所有涉及的應(yīng)用均需開(kāi)啟微服務(wù)治理功能才能使用。

  1. 登錄SAE控制臺(tái),在左側(cè)導(dǎo)航欄選擇應(yīng)用管理 > 應(yīng)用列表,然后選擇目標(biāo)地域和目標(biāo)命名空間,最后單擊目標(biāo)應(yīng)用名稱(chēng)。

  2. 在左側(cè)導(dǎo)航欄,選擇微服務(wù)治理 > 應(yīng)用概覽,單擊開(kāi)啟微服務(wù)治理

    x5uItABnGY

    說(shuō)明
    • 應(yīng)用開(kāi)通的微服務(wù)治理功能的版本與MSE版本保持一致。

    • 開(kāi)啟微服務(wù)治理需要1~2分鐘,請(qǐng)您耐心等待。

步驟三:基于基線環(huán)境創(chuàng)建灰度應(yīng)用

基于基線應(yīng)用部署灰度應(yīng)用,其中sc-a和sc-c應(yīng)用分別部署兩個(gè)灰度應(yīng)用(sc-a-a1,sc-a-a2,sc-c-c1,sc-c-c2),sc-b應(yīng)用部署一個(gè)灰度應(yīng)用(sc-b-b2)。

  1. 登錄Serverless 應(yīng)用引擎控制臺(tái)。

  2. 在左側(cè)導(dǎo)航欄,單擊應(yīng)用列表,然后在頂部菜單欄選擇目標(biāo)地域。

  3. 在應(yīng)用列表頁(yè)面,單擊目標(biāo)應(yīng)用操作列的image圖標(biāo),然后單擊創(chuàng)建灰度應(yīng)用

  4. 創(chuàng)建灰度應(yīng)用頁(yè)面,按照下表的說(shuō)明完成應(yīng)用的創(chuàng)建。

    設(shè)置區(qū)域

    設(shè)置項(xiàng)

    說(shuō)明

    基礎(chǔ)信息設(shè)置

    應(yīng)用名稱(chēng)

    自定義應(yīng)用名稱(chēng)。名稱(chēng)為1~36個(gè)字符,可包含數(shù)字、字母以及中劃線(-),必須以字母開(kāi)頭。

    應(yīng)用描述

    自定義應(yīng)用的基本情況。

    命名空間類(lèi)型

    按照控制臺(tái)的默認(rèn)配置選擇選擇已有命名空間以繼承基線應(yīng)用的設(shè)置。

    • 命名空間:繼承基線應(yīng)用的配置,不支持修改。

    • 專(zhuān)有網(wǎng)絡(luò) VPC:繼承基線應(yīng)用的配置,不支持修改。

    • 交換機(jī)vSwitch:選擇交換機(jī)。

    • 安全組:選擇安全組。

    應(yīng)用部署方式

    默認(rèn)繼承基線應(yīng)用的設(shè)置,您可以根據(jù)需求選擇覆蓋或添加新的配置。

    灰度標(biāo)簽

    名稱(chēng)

    全鏈路灰度路由功能需搭配灰度標(biāo)簽才能使用,且標(biāo)簽名稱(chēng)必須設(shè)置為alicloud.service.tag,否則將無(wú)法通過(guò)標(biāo)簽值識(shí)別到該灰度應(yīng)用。

    自定義標(biāo)簽值。標(biāo)簽值為1-20個(gè)字符,只能由字母和數(shù)字組成,且字母區(qū)分大小寫(xiě),如grayGRAY是兩個(gè)不同的標(biāo)簽值。

    容量設(shè)置

    單實(shí)例規(guī)格

    設(shè)置CPU和內(nèi)存,取值范圍為[1,50]。默認(rèn)值為2。

    實(shí)例數(shù)

    設(shè)置實(shí)例個(gè)數(shù),取值范圍為[1,50]。默認(rèn)值為2。

  5. 單擊下一步:高級(jí)設(shè)置,進(jìn)行高級(jí)配置。具體步驟,請(qǐng)參見(jiàn)高級(jí)配置

  6. 單擊創(chuàng)建應(yīng)用

步驟四:創(chuàng)建泳道組

  1. 登錄Serverless 應(yīng)用引擎控制臺(tái)。

  2. 在左側(cè)導(dǎo)航欄單擊微服務(wù)治理,然后單擊全鏈路灰度

  3. 全鏈路灰度頁(yè)面,在頁(yè)面頂部單擊目標(biāo)命名空間,然后單擊創(chuàng)建泳道組及泳道

  4. 在彈出的創(chuàng)建泳道組面板,根據(jù)下表說(shuō)明設(shè)置泳道組相關(guān)參數(shù),然后單擊確定

    配置項(xiàng)

    說(shuō)明

    泳道組名稱(chēng)

    自定義泳道組名稱(chēng)。

    入口類(lèi)型

    選擇Java 服務(wù)網(wǎng)關(guān)

    泳道組流量入口

    選擇您的流量入口。

    泳道組涉及應(yīng)用

    選擇您入口網(wǎng)關(guān)所涉及的所有相關(guān)應(yīng)用,可以選擇多個(gè)。

    image

    泳道組創(chuàng)建完成后,在全鏈路灰度頁(yè)面的泳道組區(qū)域,可以查看您創(chuàng)建的泳道組。如需變更泳道組信息,單擊目標(biāo)泳道組右上角的編輯,可在頁(yè)面自行修改相關(guān)信息。

步驟五:創(chuàng)建泳道

  1. 全鏈路灰度頁(yè)面,在頁(yè)面下方單擊點(diǎn)擊創(chuàng)建第一個(gè)分流泳道,如果您選擇的微服務(wù)空間內(nèi)已經(jīng)創(chuàng)建過(guò)泳道,則單擊創(chuàng)建泳道

  2. 在彈出的創(chuàng)建泳道頁(yè)面,按照下表說(shuō)明完成泳道的創(chuàng)建,然后單擊確定

    配置項(xiàng)

    說(shuō)明

    泳道名稱(chēng)

    自定義泳道名稱(chēng)。

    泳道標(biāo)簽

    選擇需要加入同一條泳道的應(yīng)用對(duì)應(yīng)灰度版本的alicloud.service.tag標(biāo)簽。

    Path

    選擇匹配路徑,若為空則代表匹配所有路徑。

    灰度模式

    按照控制臺(tái)提示選擇灰度模式:

    • 按內(nèi)容灰度

    • 按比例灰度

    說(shuō)明

    灰度模式在整個(gè)泳道組內(nèi)需保持一致,一旦第一條泳道成功創(chuàng)建,后續(xù)泳道就不可以再對(duì)其進(jìn)行更改。

    灰度條件

    灰度條件指定了請(qǐng)求內(nèi)容的灰度匹配方式。當(dāng)請(qǐng)求內(nèi)容滿足下列條件時(shí),會(huì)被打上先前指定的泳道標(biāo)簽:

    • 以下條件同時(shí)滿足

    • 以下條件任意滿足

    說(shuō)明

    可以選擇的條件類(lèi)型:

    • 參數(shù)類(lèi)型

    • 參數(shù)

    • 條件

步驟六:基線應(yīng)用及灰度應(yīng)用流量驗(yàn)證

按內(nèi)容灰度流量驗(yàn)證

  1. 使用curl命令測(cè)試基線流量:

    #測(cè)試命令
    curl 8.130.XX.XX/A/a
    # 測(cè)試結(jié)果
    A[192.168.XX.XX][config=base] -> B[192.168.XX.XX] -> C[192.168.XX.XX]
    說(shuō)明

    命令中的 8.130.XX.XX是服務(wù)網(wǎng)關(guān)暴露的IP地址。

  2. 使用curl命令測(cè)試灰度流量:

    # 測(cè)試命令
    curl 8.130.XX.XX/A/a -H "tag: ${tag}" 
    
    # 測(cè)試結(jié)果
    A${tag}[192.168.XX.XX][config=base] -> B[192.168.XX.XX] -> C${tag}[192.168.XX.XX]
    說(shuō)明

    例如:當(dāng)Header的參數(shù)中帶上tag: ${tag}時(shí),會(huì)命中灰度標(biāo)簽,并向后透?jìng)鳌?/p>

按比例灰度流量驗(yàn)證

使用curl命令測(cè)進(jìn)行驗(yàn)證:

#測(cè)試命令
curl 8.130.XX.XX/A/a
# 測(cè)試結(jié)果
A[192.168.XX.XX][config=base] -> B[192.168.XX.XX] -> C[192.168.XX.XX]
# 測(cè)試結(jié)果
Agray[192.168.XX.XX][config=base] -> B[192.168.XX.XX] -> Cgray[192.168.XX.XX]
說(shuō)明

命令中的 8.130.XX.XX是服務(wù)網(wǎng)關(guān)暴露的IP地址。

步驟七:微服務(wù)治理可觀測(cè)

SAE控制臺(tái)全鏈路灰度頁(yè)面,在選擇泳道組下拉列表中選擇目標(biāo)泳道組,在泳道組及涉及的應(yīng)用區(qū)域單擊目標(biāo)應(yīng)用,在應(yīng)用QPS監(jiān)控區(qū)域,可查看對(duì)應(yīng)泳道基線版本和灰度版本的流量情況。選擇回放時(shí)間,展示所選時(shí)間對(duì)應(yīng)的指標(biāo)數(shù)據(jù)。

說(shuō)明

監(jiān)控回放僅支持回放一天內(nèi)的指標(biāo)數(shù)據(jù)。

image

  • 總QPS:該應(yīng)用總的每秒請(qǐng)求數(shù)(QPS)。

  • 異常QPS:該應(yīng)用出錯(cuò)的每秒請(qǐng)求數(shù)(QPS)。

  • 未打標(biāo)QPS:該應(yīng)用未打標(biāo)的流量的每秒請(qǐng)求數(shù)(QPS)。