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