阿里云國際站經(jīng)銷商,主營阿里云,騰訊云,華為云,亞馬遜aws,谷歌云gcp,微軟云az,免費開戶,代充值優(yōu)惠大,聯(lián)系客服飛機@jkkddd
開發(fā)場景:基于消息隊列RocketMQ版實現(xiàn)環(huán)境隔離
本文介紹如何在Serverless應(yīng)用引擎SAE(Serverless App Engine)上基于阿里云消息隊列RocketMQ版實現(xiàn)環(huán)境隔離,您可以在不修改任何業(yè)務(wù)代碼的情況下,實現(xiàn)異步場景下的流量控制。準(zhǔn)備工作
部署SAE Demo應(yīng)用
下載Demo。
部署主干鏈路應(yīng)用。
部署主干鏈路應(yīng)用(A、B、C)。具體操作,請參見將Spring Cloud應(yīng)用托管到SAE。
部署灰度鏈路應(yīng)用(A-gray、B-gray、C-gray),在啟動命令中添加啟動參數(shù)-Dalicloud.service.tag=gray用于區(qū)別主干鏈路應(yīng)用。
部署RocketMQ
消息的生產(chǎn)者和消息的消費者,需要同時開啟RocketMQ消息灰度,消息的灰度功能才能生效。消息類型目前只支持RocketMQ,包含開源版本(Apache RocketMQ)和阿里云商業(yè)版(消息隊列RocketMQ版)。
如果您使用開源RocketMQ,則RocketMQ Server和RocketMQ Client都需要使用4.5.0及以上版本。更多信息,請參見Apache RocketMQ。
如果您使用阿里云消息隊列RocketMQ版,需要使用鉑金版,且Ons Client使用1.8.0.Final及以上版本。更多信息,請參見快速入門概述。
開啟RocketMQ消息灰度后,消息的Consumer Group會被修改。例如原來的Consumer Group為group1,環(huán)境標(biāo)簽為gray,開啟RocketMQ消息灰度后,則group會被修改成group1_gray,如果您使用的是阿里云消息隊列RocketMQ版 ,請?zhí)崆皠?chuàng)建好Group。
默認使用SQL92的過濾方式,如果您使用開源RocketMQ,需要在服務(wù)端開啟SQL92過濾功能(即在broker.conf中配置enablePropertyFilter=true)。
步驟一:為應(yīng)用開啟RocketMQ消息灰度
Demo中的spring-cloud-c、spring-cloud-a應(yīng)用分別為消息的生產(chǎn)者和消費者,通過添加啟動參數(shù)-Dprofiler.micro.service.mq.gray.enable=true,在SAE上為其開啟RocketMQ消息灰度。
步驟二:引入流量并進行驗證
Demo應(yīng)用的結(jié)構(gòu)圖如下,應(yīng)用之間的調(diào)用,既包含了Spring Cloud的調(diào)用,也包含了Dubbo的調(diào)用,覆蓋了當(dāng)前市面上最常用的兩種微服務(wù)框架。其中C應(yīng)用會生產(chǎn)出RocketMQ消息,由A應(yīng)用進行消費,A應(yīng)用在消費消息時,也會發(fā)起新的調(diào)用。這些應(yīng)用都是基礎(chǔ)的Spring Cloud、Dubbo和RocketMQ的標(biāo)準(zhǔn)用法。
Demo的調(diào)用鏈路為:spring-cloud-zuul應(yīng)用在收到/A/dubbo的請求時,會把請求轉(zhuǎn)發(fā)給spring-cloud-a,然后spring-cloud-a通過Dubbo協(xié)議去訪問spring-cloud-b,spring-cloud-b也通過Dubbo協(xié)議去訪問spring-cloud-c,spring-cloud-c在收到請求后,會生產(chǎn)一個消息,并返回自己的環(huán)境標(biāo)簽和IP地址。這些生產(chǎn)出來的消息會由spring-cloud-a應(yīng)用消費,spring-cloud-a應(yīng)用在消費消息的時候,會通過spring cloud去調(diào)用spring-cloud-b,spring-cloud-b進而通過spring cloud去調(diào)用spring-cloud-c,并且將結(jié)果輸出到自己的日志中。
您可以登錄SAE控制臺,查看spring-cloud-a應(yīng)用的日志并驗證配置?;€環(huán)境可以同時消費灰度(gray)和基線(base)環(huán)境生產(chǎn)出來的消息,而且在消費對應(yīng)環(huán)境消息時產(chǎn)生的Spring Cloud調(diào)用分別路由到灰度(gray)和基線(base)環(huán)境中。具體操作,請參見查看實時日志。
心靈雞湯:
標(biāo)題:阿里云免實名賬號注冊,阿里云賬號購買
地址:http://m.nickbaillie.com/kfxw/64407.html