企业深入使用微服务后会面临哪些问题?云原生全链路灰度给了新思路
作者:魁予、十眠
如何落地可灰度、可觀測、可回滾的安全生產(chǎn)三板斧能力,滿足業(yè)務(wù)高速發(fā)展情況下快速迭代和小心驗(yàn)證的訴求,是企業(yè)在微服務(wù)化深入過程中必須要面對的問題。在云原生流行的當(dāng)下,這個(gè)問題又有了一些新的思路與解法。
Kubernetes Ingress 網(wǎng)關(guān)
我們先從 Ingress 網(wǎng)關(guān)談起,聊一下通過 Ingress 配置路由轉(zhuǎn)發(fā)。
Kubernetes 集群內(nèi)的網(wǎng)絡(luò)與外部是隔離的,即在 Kubernetes 集群外部無法直接訪問集群內(nèi)部的服務(wù),如何讓將 Kubernetes 集群內(nèi)部的服務(wù)提供給外部用戶呢?Kubernetes 社區(qū)有三種方案:NodePort、LoadBalancer、Ingress,下圖是對這三種方案的對比:
通過對比可以看到 Ingress 是更適合業(yè)務(wù)使用的一種方式,可以基于其做更復(fù)雜的二次路由分發(fā),這也是目前用戶主流的選擇。
隨著云原生應(yīng)用微服務(wù)化深入,用戶需要面對復(fù)雜路由規(guī)則配置、支持多種應(yīng)用層協(xié)議(HTTP、HTTPS和 QUIC 等)、服務(wù)訪問的安全性以及流量的可觀測性等訴求。Kubernetes 希望通過 Ingress 來標(biāo)準(zhǔn)化集群入口流量的規(guī)則定義,但實(shí)際業(yè)務(wù)落地時(shí)需要的功能點(diǎn)要遠(yuǎn)比 Ingress 提供的多,為了滿足不斷增長的業(yè)務(wù)訴求,讓用戶輕松應(yīng)對云原生應(yīng)用的流量管理,各類 Ingress-Provider 也都在 Ingress 的標(biāo)準(zhǔn)下進(jìn)行各種擴(kuò)展。
各種 Ingress-Provider 如何路由轉(zhuǎn)發(fā)
下面我會簡單介紹 Kubernetes 下的各種 Ingress 網(wǎng)關(guān)的實(shí)現(xiàn),以及如何配置路由轉(zhuǎn)發(fā)規(guī)則等。
Nginx Ingress
Nginx Ingress 由資源對象 Ingress、Ingress Controller、Nginx 三部分組成,Ingress Controller 用以將 Ingress 資源實(shí)例組裝成 Nginx 配置文件(nginx.conf),并重新加載 Nginx 使變更的配置生效。Ingress-nginx 是 Kubernetes 社區(qū)提供的 Ingress 控制器,最容易部署,但是受性能限制,功能較為單一,且更新 Nginx 配置需要 reload。
1、基于 Nginx Ingress Controller 配置路由轉(zhuǎn)發(fā)
基于部署了 Nginx Ingress Controller 組件的 Kubernetes 集群,可以實(shí)現(xiàn)路由轉(zhuǎn)發(fā)功能,能夠根據(jù)域名、路徑進(jìn)行路由轉(zhuǎn)發(fā),也能夠支持基于 Ingress 的 Annotations 進(jìn)行簡單規(guī)則的灰度流量管理,如權(quán)重、Header 等。在當(dāng)下趨勢中,Nginx Ingress 依舊是使用最廣泛的。
ALB Ingress
1、ALB 產(chǎn)品介紹
應(yīng)用型負(fù)載均衡 ALB(Application Load Balancer)是阿里云推出的專門面向 HTTP、HTTPS 和 QUIC 等應(yīng)用層負(fù)載場景的負(fù)載均衡服務(wù),具備超強(qiáng)彈性及大規(guī)模七層流量處理能力。
2、ALB 特性
彈性自動伸縮: ALB 同時(shí)提供域名與 VIP(Virtual IP address),支持對多臺云服務(wù)器進(jìn)行流量分發(fā)以擴(kuò)展應(yīng)用系統(tǒng)的服務(wù)能力,通過消除單點(diǎn)故障來提升應(yīng)用系統(tǒng)的可用性。ALB 允許您自定義可用區(qū)組合,并支持在可用區(qū)間彈性縮放,避免單可用區(qū)資源瓶頸。
高級的協(xié)議: 支持 ALB 支持應(yīng)用傳輸協(xié)議 QUIC,在實(shí)時(shí)音視頻、互動直播和游戲等移動互聯(lián)網(wǎng)應(yīng)用場景中,訪問速度更快,傳輸鏈路更安全可靠。ALB 同時(shí)支持 gRPC 框架,可實(shí)現(xiàn)海量微服務(wù)間的高效 API 通信。
基于內(nèi)容的高級路由: ALB 支持基于 HTTP 標(biāo)頭、Cookie、HTTP 請求方法等多種規(guī)則來識別特定業(yè)務(wù)流量,并將其轉(zhuǎn)發(fā)至不同的后端服務(wù)器。同時(shí) ALB 還支持重定向、重寫以及自定義 HTTPS 標(biāo)頭等高級操作。
安全加持“ALB 自帶分布式拒絕服務(wù) DDoS(Distributed Denial of Service)防護(hù),一鍵集成 Web 應(yīng)用防火墻(Web Application Firewall,簡稱 WAF)。同時(shí) ALB 支持全鏈路 HTTPS 加密,可以實(shí)現(xiàn)與客戶端或后端服務(wù)器的 HTTPS 交互;支持 TLS 1.3 等高效安全的加密協(xié)議,面向加密敏感型業(yè)務(wù),滿足 Zero-Trust 新一代安全技術(shù)架構(gòu)需求;支持預(yù)制的安全策略,您可以自定義安全策略。
云原生應(yīng)用: 在云原生時(shí)代,PaaS 平臺將下沉到基礎(chǔ)設(shè)施,成為云的一部分。隨著云原生逐步成熟,互聯(lián)網(wǎng)、金融、企業(yè)等諸多行業(yè)新建業(yè)務(wù)時(shí)選擇云原生部署,或?qū)ΜF(xiàn)有業(yè)務(wù)進(jìn)行云原生化改造。ALB 與容器服務(wù) Kubernetes 版(Alibaba Cloud Container Service for Kubernetes,簡稱 ACK)深度集成,是阿里云的官方云原生 Ingress 網(wǎng)關(guān)。
彈性靈活的計(jì)費(fèi): ALB 通過彈性公網(wǎng) IP(Elastic IP Address,簡稱 EIP)和共享帶寬提供公網(wǎng)能力,實(shí)現(xiàn)公網(wǎng)靈活計(jì)費(fèi);同時(shí)采用了更先進(jìn)的、更適合彈性業(yè)務(wù)峰值的基于容量單位(LCU)的計(jì)價(jià)方案。
3、基于 ALB Ingress Controller 配置路由轉(zhuǎn)發(fā)
ALB Ingress Controller 通過 API Server 獲取 Ingress 資源的變化,動態(tài)地生成AlbConfig,然后依次創(chuàng)建 ALB 實(shí)例、監(jiān)聽、路由轉(zhuǎn)發(fā)規(guī)則以及后端服務(wù)器組。Kubernetes 中 Service、Ingress 與 AlbConfig 有著以下關(guān)系:
- Service 是后端真實(shí)服務(wù)的抽象,一個(gè) Service 可以代表多個(gè)相同的后端服務(wù)。
- Ingress 是反向代理規(guī)則,用來規(guī)定 HTTP/HTTPS 請求應(yīng)該被轉(zhuǎn)發(fā)到哪個(gè) Service 上。例如:根據(jù)請求中不同的 Host 和 URL 路徑,讓請求轉(zhuǎn)發(fā)到不同的 Service 上。
- AlbConfig 是在 ALB Ingress Controller 提供的 CRD 資源,使用 AlbConfig CRD 來配置 ALB 實(shí)例和監(jiān)聽。一個(gè) AlbConfig 對應(yīng)一個(gè) ALB 實(shí)例。
ALB Ingress 基于阿里云應(yīng)用型負(fù)載均衡 ALB(Application Load Balancer)之上提供更為強(qiáng)大的 Ingress 流量管理方式,兼容 Nginx Ingress,具備處理復(fù)雜業(yè)務(wù)路由和證書自動發(fā)現(xiàn)的能力,支持 HTTP、HTTPS 和 QUIC 協(xié)議,完全滿足在云原生應(yīng)用場景下對超強(qiáng)彈性和大規(guī)模七層流量處理能力的需求。
APISIX Ingress
APISIX Ingress 跟 Kubernetes Ingress Nginx 的區(qū)別主要在于 APISIX Ingress 是以 Apache APISIX 作為實(shí)際承載業(yè)務(wù)流量的數(shù)據(jù)面。如下圖所示,當(dāng)用戶請求到具體的某一個(gè)服務(wù)/API/網(wǎng)頁時(shí),通過外部代理將整個(gè)業(yè)務(wù)流量/用戶請求傳輸?shù)?Kubernetes 集群,然后經(jīng)過 APISIX Ingress 進(jìn)行后續(xù)處理。
從上圖可以看到,APISIX Ingress 分成了兩部分。一部分是 APISIX Ingress Controller,作為控制面它將完成配置管理與分發(fā)。另一部分 APISIX Proxy Pod 負(fù)責(zé)承載業(yè)務(wù)流量,它是通過 CRD(Custom Resource Definitions) 的方式實(shí)現(xiàn)的。Apache APISIX Ingress 除了支持自定義資源外,還支持原生的 Kubernetes Ingress 資源。
1、基于 APISIX Ingress Controller 的應(yīng)用路由
如上圖所示,我們部署了 APISIX Ingress Controller 組件的集群,能夠?qū)崿F(xiàn)基于Ingress 資源和自定義資源 ApisixRoute 進(jìn)行路由配置,控制器監(jiān)聽資源的變更事件,調(diào)用 apisix-admin api 進(jìn)行規(guī)則的持久化存儲。流量經(jīng)過 APISIX 配置的 LoadBalancer 類型 Service 網(wǎng)關(guān)從 ETCD 中同步配置,并將請求轉(zhuǎn)發(fā)到上游。
APISIX Ingress Controller 基于 Apache APISIX,支持 Kubernetes 中的 Ingress 資源進(jìn)行路由配置,也支持通過自定義資源對接到 APISIX 的路由、插件、上游等資源配置。支持動態(tài)配置路由規(guī)則、熱插拔插件、更豐富的路由規(guī)則支持,APISIX 云原生網(wǎng)關(guān)也能夠提供可觀測、故障注入、鏈路追蹤等能力。使用高可靠 ETCD 集群作為配置中心,進(jìn)行 apisix 配置的存儲和分發(fā)。
MSE 云原生網(wǎng)關(guān) Ingress
MSE 云原生網(wǎng)關(guān)是阿里云推出的下一代網(wǎng)關(guān),將傳統(tǒng)的流量網(wǎng)關(guān)和微服務(wù)網(wǎng)關(guān)合并,在降低 50%資源成本的同時(shí)為用戶提供了精細(xì)化的流量治理能力,支持 ACK 容器服務(wù)、Nacos、Eureka、固定地址、FaaS 等多種服務(wù)發(fā)現(xiàn)方式,支持多種認(rèn)證登錄方式快速構(gòu)建安全防線,提供全方面、多視角的監(jiān)控體系,如指標(biāo)監(jiān)控、日志分析以及鏈路追蹤。
1、基于 MSE 云原生網(wǎng)關(guān) Ingress Controller 的應(yīng)用路由
上圖是 MSE 云原生網(wǎng)關(guān)在多集群模式下對業(yè)務(wù)應(yīng)用進(jìn)行流量管理的應(yīng)用場景。MSE 云原生網(wǎng)關(guān)與阿里云容器服務(wù) ACK 深度集成,可以做到自動發(fā)現(xiàn)服務(wù)以及對應(yīng)的端點(diǎn)信息并動態(tài)秒級生效。用戶只需簡單在 MSE 管控平臺關(guān)聯(lián)對應(yīng)的 Kubernetes ACK 集群,通過在路由管理模塊中配置路由來對外暴露 ACK 中服務(wù)即可,同時(shí)可以按集群維度進(jìn)行流量分流以及故障轉(zhuǎn)移。此外,用戶可以為業(yè)務(wù)路由實(shí)施額外的策略,如常見的限流、跨域或者重寫。
MSE 云原生網(wǎng)關(guān)提供的流量治理能力與具體的服務(wù)發(fā)現(xiàn)方式解耦,無論后端服務(wù)采用何種服務(wù)發(fā)現(xiàn)方式,云原生網(wǎng)關(guān)以統(tǒng)一的交互體驗(yàn)來降低上手門檻,滿足用戶業(yè)務(wù)日益增長的流量治理訴求。
上文介紹了 Nginx Ingress、ALB Ingress、APISIX Ingress 以及 MSE 云原生網(wǎng)關(guān)Ingress 這五種 Ingress 的路由轉(zhuǎn)發(fā)與配置,我們可以按照自己的業(yè)務(wù)需求與復(fù)雜度按需選擇合適的 Ingress 實(shí)現(xiàn)。
假設(shè)我們已經(jīng)配好了 Ingress 的路由轉(zhuǎn)發(fā),那么在多應(yīng)用環(huán)境下,我們該如何簡單地玩轉(zhuǎn)全鏈路灰度呢?
基于 Ingress 實(shí)現(xiàn)全鏈路流量灰度
我們基于全鏈路灰度的實(shí)踐,提出了“泳道”這一個(gè)概念,當(dāng)然這一概念在分布式軟件領(lǐng)域并非新詞。
名詞解釋
- 泳道 : 為相同版本應(yīng)用定義的一套隔離環(huán)境。只有滿足了流控路由規(guī)則的請求流量才會路由到對應(yīng)泳道里的打標(biāo)應(yīng)用。一個(gè)應(yīng)用可以屬于多個(gè)泳道,一個(gè)泳道可以包含多個(gè)應(yīng)用,應(yīng)用和泳道是多對多的關(guān)系。
- 泳道組: 泳道的集合。泳道組的作用主要是為了區(qū)分不同團(tuán)隊(duì)或不同場景。
- 基線: 指業(yè)務(wù)所有服務(wù)都部署到了這一環(huán)境中。未打標(biāo)的應(yīng)用屬于基線穩(wěn)定版本的應(yīng)用,我們這里指穩(wěn)定的線上環(huán)境。
- 入口應(yīng)用: 微服務(wù)體系內(nèi)的流量入口。入口應(yīng)用可以是 Ingress 網(wǎng)關(guān)、或者是自建的 Spring Cloud Gateway、Netflix Zuul Gateway 引擎類型網(wǎng)關(guān)或者 Spring Boot、Spring MVC、Dubbo 應(yīng)用等。
為什么要區(qū)分出入口應(yīng)用?因?yàn)槿溌坊叶葓鼍跋?#xff0c;我們只需對入口應(yīng)用進(jìn)行路由轉(zhuǎn)發(fā)的規(guī)則配置,后續(xù)微服務(wù)只需要按照透傳的標(biāo)簽進(jìn)行染色路由(實(shí)現(xiàn)“泳道”的流量閉環(huán)能力)。
從上圖中可以看到,我們分別創(chuàng)建了泳道 A 與泳道 B,里面涉及了交易中心、商品中心兩個(gè)應(yīng)用,分別是標(biāo)簽標(biāo)簽 2,其中 A 泳道分流了線上 30%的流量,B 泳道分流了線上 20%的流量,基線環(huán)境(即未打標(biāo)的環(huán)境)分流了線上 50%的流量。
全鏈路灰度的技術(shù)解析
我們通過在 deployment 上配置注解 alicloud.service.tag: gray 標(biāo)識應(yīng)用灰度版本,并帶標(biāo)注冊到注冊中心中,在灰度版本應(yīng)用上開啟全鏈路泳道(經(jīng)過機(jī)器的流量自動染色),支持灰度流量自動添加灰度 x-mse-tag: gray 標(biāo)簽,通過擴(kuò)展 consumer 的路由能力將帶有灰度標(biāo)簽的流量轉(zhuǎn)發(fā)到目標(biāo)灰度應(yīng)用。
基于各種 Ingress 網(wǎng)關(guān)的全鏈路灰度
基于全鏈路灰度能力搭配合適的入口路由網(wǎng)關(guān)即可實(shí)現(xiàn)全鏈路流量灰度,如上述使用 Ingress-Nginx、Ingress-APISIX、ALB、MSE 云原生網(wǎng)關(guān)均可以作為流量入口。
全鏈路灰度的產(chǎn)品實(shí)現(xiàn)
功能性與易用性是產(chǎn)品化必須思考的點(diǎn),我們需要從用戶的視角出發(fā),端到端思考全流程該如何去實(shí)踐、如何去落地。在阿里云上關(guān)于微服務(wù)全鏈路灰度能力有以下兩款產(chǎn)品都提供了完整的全鏈路灰度解決方案。
MSE 全鏈路灰度方案
全鏈路灰度作為 MSE 微服務(wù)治理專業(yè)版中的核心功能,具備以下六大特點(diǎn):
- 全鏈路隔離流量泳道
通過設(shè)置流量規(guī)則對所需流量進(jìn)行'染色','染色'流量會路由到灰度機(jī)器。
灰度流量攜帶灰度標(biāo)往下游傳遞,形成灰度專屬環(huán)境流量泳道,無灰度環(huán)境應(yīng)用會默認(rèn)選擇未打標(biāo)的基線環(huán)境。
端到端的穩(wěn)定基線環(huán)境
未打標(biāo)的應(yīng)用屬于基線穩(wěn)定版本的應(yīng)用,即穩(wěn)定的線上環(huán)境。當(dāng)我們將發(fā)布對應(yīng)的灰度版本代碼,然后可以配置規(guī)則定向引入特定的線上流量,控制灰度代碼的風(fēng)險(xiǎn)。
- 流量一鍵動態(tài)切流
流量規(guī)則定制后,可根據(jù)需求進(jìn)行一鍵停啟,增刪改查,實(shí)時(shí)生效?;叶纫鞲憬?。
- 低成本接入,基于 Java Agent 技術(shù)實(shí)現(xiàn)無需修改一行業(yè)務(wù)代碼
MSE 微服務(wù)治理能力基于 Java Agent 字節(jié)碼增強(qiáng)的技術(shù)實(shí)現(xiàn),無縫支持市面上近 5 年的所有 Spring Cloud 和 Dubbo 的版本,用戶不用改一行代碼就可以使用,不需要改變業(yè)務(wù)的現(xiàn)有架構(gòu),隨時(shí)可上可下,沒有綁定。只需開啟 MSE 微服務(wù)治理專業(yè)版,在線配置,實(shí)時(shí)生效。
- 可觀測能力
- 具備泳道級別的單應(yīng)用可觀測能力
- 具備全鏈路應(yīng)用的可觀測能力,可以從全局視角觀察流量是否存在逃逸情況?;覜]灰到,一目了然。
- 具備無損上下線能力,使得發(fā)布更加絲滑
應(yīng)用開啟 MSE 微服務(wù)治理后就具備無損上下線能力,大流量下的發(fā)布、回滾、擴(kuò)容、縮容等場景,均能保證流量無損。
1、創(chuàng)建流量泳道組
需要將泳道中涉及的應(yīng)用添加到泳道組涉及應(yīng)用中
2、創(chuàng)建流量泳道
在使用泳道功能前,我們默認(rèn)已經(jīng)存在了一個(gè)包含所有服務(wù)在內(nèi)的基線(未達(dá)標(biāo))環(huán)境。
我們需要去部署隔離版本的應(yīng)用 Deployment,同時(shí)去給他們打上標(biāo)簽,并且給泳道選擇對應(yīng)一一關(guān)聯(lián)的標(biāo)簽(test 泳道關(guān)聯(lián) gray 標(biāo)簽)
然后需要去配置流量入口的 Ingress 規(guī)則,比如訪問 www.base.com 路由到 A 應(yīng)用的 base 版本,訪問 www.gray.com 路由到 A 應(yīng)用的 gray 版本。
apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata:name: spring-cloud-a-base spec:rules:- host: www.base.comhttp:paths:- backend:serviceName: spring-cloud-a-baseservicePort: 20001path: /--- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata:name: spring-cloud-a-gray spec:rules:- host: www.gray.comhttp:paths:- backend:serviceName: spring-cloud-a-grayservicePort: 20001path: /EDAS 全鏈路灰度方案
1、EDAS 產(chǎn)品介紹
EDAS 是應(yīng)用托管和微服務(wù)管理的云原生 PaaS 平臺,提供應(yīng)用開發(fā)、部署、監(jiān)控、運(yùn)維等全棧式解決方案,同時(shí)支持 Spring Cloud 和 Apache Dubbo 等微服務(wù)運(yùn)行環(huán)境,助力您的應(yīng)用輕松上云。
在 EDAS 平臺中,用戶可以通過 WAR 包、JAR 包或鏡像等多種方式快速部署應(yīng)用到多種底層服務(wù)器集群,免集群維護(hù),能夠輕松部署應(yīng)用的基線版本和灰度版本。EDAS 無縫接入了 MSE 微服務(wù)治理能力,部署在 EDAS 的應(yīng)用無需額外安裝 Agent 即可零代碼入侵獲得應(yīng)用無損上下線、金絲雀發(fā)布、全鏈路流量控制等高級特性。
目前 EDAS 支持微服務(wù)應(yīng)用為入口的全鏈路灰度能力,下面簡單介紹在 EDAS 中的配置全鏈路灰度流量的方法。
2、創(chuàng)建流量泳道組和泳道
在創(chuàng)建泳道時(shí)需要選擇入口類型,目前僅支持部署在 EDAS 中的入口應(yīng)用作為泳道入口應(yīng)用,需要將泳道中涉及的基線版本和灰度版本添加到泳道組涉及應(yīng)用中。
在創(chuàng)建泳道時(shí)支持基于路徑配置規(guī)則定向引入特定的線上流量,配置打標(biāo)流量應(yīng)用形成灰度環(huán)境鏈路。泳道支持基于 Cookie、Header、Parameter 進(jìn)行流量控制。
配置泳道成功后,可以在全鏈路流量控制界面選擇目標(biāo)泳道組進(jìn)行流量觀測,包括入口應(yīng)用總的監(jiān)控圖、未打標(biāo)部分監(jiān)控圖和打標(biāo)部分監(jiān)控圖,及泳道組內(nèi)所有應(yīng)用的監(jiān)控圖。
3、應(yīng)用路由作為流量入口實(shí)現(xiàn)全鏈路灰度
EDAS 平臺支持用戶為 Kubernetes 應(yīng)用基于 Nginx Ingress 創(chuàng)建應(yīng)用路由,結(jié)合 EDAS 對全鏈路流控的支持,用戶能夠直接在 EDAS 控制臺實(shí)現(xiàn)使用 Nginx Ingress 作為流量入口網(wǎng)關(guān)的全鏈路灰度。
在 EDAS 平臺中部署基線版本應(yīng)用、灰度版本應(yīng)用、入口應(yīng)用后,根據(jù)上述創(chuàng)建流量泳道組和泳道的步驟創(chuàng)建灰度泳道后,可以為入口應(yīng)用綁定 Kubernetes 的 Service 資源以提供流量入口??梢詾槿肟趹?yīng)用配置 LoadBalancer 類型 Service,以提供入口應(yīng)用的對外訪問,也可以基于 Kubernetes 集群中已有的 Nginx Ingress 網(wǎng)關(guān),為入口應(yīng)用配置 ClusterIP 類型 Service 并配置應(yīng)用路由,以避免額外分配公網(wǎng) IP。
下面簡單介紹為入口應(yīng)用配置應(yīng)用路由作為流量入口的方法。
在部署完成的應(yīng)用詳情頁面,支持進(jìn)行應(yīng)用的訪問方式配置,在這里可以選擇為入口應(yīng)用綁定 LoadBalancer 類型 Service 以直接對外訪問,也可以創(chuàng)建 ClusterIP 類型 Service,如下圖:
配置成功后,可以在 EDAS 應(yīng)用路由頁面點(diǎn)擊創(chuàng)建應(yīng)用路由,選擇該入口應(yīng)用所在的集群,命名空間,應(yīng)用名稱,上述步驟創(chuàng)建的服務(wù)名稱及端口以配置 Ingress 資源,如下圖:
配置成功后,即可使用該 Ingress 資源配置的域名和路徑并結(jié)合在泳道中配置的灰度流量規(guī)則實(shí)現(xiàn)全鏈路灰度。
4、更進(jìn)一步
EDAS 中的全鏈路流量控制目前僅支持部署在 EDAS 中的入口應(yīng)用作為流量入口,在Kubernetes 主導(dǎo)的云原生化趨勢下,EDAS 將支持使用 Ingress 作為流量入口,用戶不需要額外部署網(wǎng)關(guān)應(yīng)用,直接使用 Ingress 資源配置轉(zhuǎn)發(fā)規(guī)則即可作為流量入口。不僅如此,EDAS 也將支持 ALB Ingress、APISIX Ingress 以及 MSE 云原生網(wǎng)關(guān) Ingress,并且在這個(gè)基礎(chǔ)上全鏈路灰度能力也會進(jìn)一步升級,支持基于各種 Ingress-Provider 網(wǎng)關(guān)的全鏈路灰度能力。
尾
我們發(fā)現(xiàn)在云原生抽象的 Ingress 下,再談全鏈路灰度,一切問題都變得更加標(biāo)準(zhǔn)化與簡單起來。本文通過介紹各種 Ingress 網(wǎng)關(guān)實(shí)現(xiàn)的路由轉(zhuǎn)發(fā)能力,再配合上基于“泳道”實(shí)現(xiàn)的 Ingress 全鏈路灰度方案,企業(yè)可以快速落地全鏈路灰度這個(gè)微服務(wù)核心能力。
點(diǎn)擊文末“ ??此處??? ”,了解更多產(chǎn)品相關(guān)~ ? 發(fā)布云原生技術(shù)最新資訊、匯集云原生技術(shù)最全內(nèi)容,定期舉辦云原生活動、直播,阿里產(chǎn)品及用戶最佳實(shí)踐發(fā)布。與你并肩探索云原生技術(shù)點(diǎn)滴,分享你需要的云原生內(nèi)容。
關(guān)注【阿里巴巴云原生】公眾號,獲取更多云原生實(shí)時(shí)資訊!
總結(jié)
以上是生活随笔為你收集整理的企业深入使用微服务后会面临哪些问题?云原生全链路灰度给了新思路的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 与容器服务 ACK 发行版的深度对话第二
- 下一篇: Fluid 架构创新论文被国际数据库顶会