近日,網(wǎng)易輕舟微服務(wù)發(fā)布了最新的流量染色和gRPC服務(wù)托管功能,其中流量染色功能既可以幫助用戶在新版本發(fā)布前進(jìn)行小規(guī)模驗證,還可以用于測試環(huán)境的治理,提高整體測試環(huán)境的復(fù)用性。gRPC托管服務(wù)可以幫助用戶屏蔽注冊中心、配置中心和元數(shù)據(jù)中心的復(fù)雜度,只需要關(guān)注 gRPC服務(wù)自身的邏輯。
流量染色的三種妙用
流量染色是指根據(jù)流量協(xié)議設(shè)置對應(yīng)的流量染色規(guī)則,對指定的流量進(jìn)行染色標(biāo)記,并在整個調(diào)用鏈中攜帶該標(biāo)記。通過染色流量可以對特定的流量進(jìn)行跟蹤和路由,所以流量染色功能常被用于灰度發(fā)布的場景。在業(yè)務(wù)系統(tǒng)迭代過程中會不斷有新版本發(fā)布,在正式發(fā)布前,可以使用流量染色控制先進(jìn)行小規(guī)模驗證,通過收集使用體驗的數(shù)據(jù),對應(yīng)用新版本的功能、性能、穩(wěn)定性等指標(biāo)進(jìn)行評判,然后再全量升級。即使某個新版本出現(xiàn)問題,也只會影響已染色流量,不會將問題蔓延至整個系統(tǒng),保證整個系統(tǒng)的正常運(yùn)行。
同理,流量染色功能還可以用于大促前的性能壓測。在線上壓測的場景中,為了讓壓測數(shù)據(jù)和正式的線上數(shù)據(jù)實現(xiàn)隔離,常用的方法是對于消息隊列,緩存,數(shù)據(jù)庫使用影子的方式。這就需要流量染色的技術(shù),帶一個tag進(jìn)去,說明這個請求是測試數(shù)據(jù),還是真實數(shù)據(jù)。
此外,流量染色功能還可以用于多測試環(huán)境的治理。在大規(guī)模微服務(wù)場景下,不可能每個部門部署一套完整的環(huán)境,因為耗費(fèi)的資源量實在是太大了。這時候就需要合理規(guī)劃測試環(huán)境,可以建立一個基準(zhǔn)測試環(huán)境,對應(yīng)Master分支,里面部署全量的應(yīng)用。每一個分支對應(yīng)有更新的模塊,比如說你修改了五個工程,測試的時候,不需要部署全量的應(yīng)用,只需要把這五個工程去創(chuàng)建一個Delta測試環(huán)境就可以了。
當(dāng)客戶端進(jìn)行測試的時候,通過流量染色標(biāo)記不同的測試分支流量,將該流量路由至測試版本。當(dāng)這五個服務(wù)之內(nèi)相互調(diào)用的時候,微服務(wù)框架就會選擇這五個服務(wù)的實例進(jìn)行調(diào)用,如果需要調(diào)用五個服務(wù)之外的其他服務(wù)的時候,微服務(wù)框架會到Master環(huán)境里面,選擇服務(wù)實例進(jìn)行調(diào)用。有了流量染色的環(huán)境治理機(jī)制,測試環(huán)境數(shù)量會大大減少。
輕舟流量染色的 優(yōu)勢
輕舟的流量染色還具有多方面優(yōu)勢,比如支持HTTP、RPC等多種協(xié)議類型,支持NSF服務(wù)或API網(wǎng)關(guān)為流量入口,支持MQ等中間件的流量染色等。此外,輕舟的流量染色還支持流量染色穿梭和多個流量染色配置,即對于染色鏈路中未指定的服務(wù),允許再請求中攜帶染色標(biāo)記并在下一跳路由回染色鏈路,甚至允許同一個微服務(wù)同時參與多個流量染色。
gRPC 服務(wù)托管降低研發(fā)成本
本次輕舟的另一更新是gRPC服務(wù)托管。gRPC 是一個高性能、通用的開源 RPC 框架,越來越多的用戶已經(jīng)開始采用 gRPC 作為微服務(wù)的通信解決方案。將 gPRC服務(wù)托管到 NSF微服務(wù)框架,用戶只需要關(guān)注 gRPC服務(wù)自身的邏輯,無需再關(guān)注注冊中心、配置中心和元數(shù)據(jù)中心的搭建和維護(hù)。托管后還可以使用 NSF提供的限流降級、拓?fù)潢P(guān)系、路由、及監(jiān)控等能力,而且整個托管過程是無侵入的,不會增加用戶的理解成本和開發(fā)成本。
輕舟 gRPC 服務(wù)托管提供完善的治理能力
目前輕舟 gRPC服務(wù)托管支持以下功能需求:
l 支持 gRPC服務(wù)的注冊與發(fā)現(xiàn);
l 查看 gRPC 服務(wù)實例列表;
l 查看 gRPC 服務(wù)監(jiān)控;
l 支持動態(tài)配置;
l 查看 gRPC 服務(wù)依賴關(guān)系和服務(wù)拓?fù)?
l 支持 gPRC 服務(wù)的限流、降級、容錯等治理能力;
l 支持 gRPC 服務(wù)的路由管理;
l 支持 gRPC 服務(wù)的流量染色;
通過知識庫管理 gRPC 服務(wù)元數(shù)據(jù);
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!