降低測試成本,屏蔽gRPC復雜性,輕舟新增流量染色和gRPC托管服務

2019-10-10 17:29:30來源:威易網作者:

近日,網易輕舟微服務發布了最新的流量染色和gRPC服務托管功能,其中流量染色功能既可以幫助用戶在新版本發布前進行小規模驗證...

近日,網易輕舟微服務發布了最新的流量染色和gRPC服務托管功能,其中流量染色功能既可以幫助用戶在新版本發布前進行小規模驗證,還可以用于測試環境的治理,提高整體測試環境的復用性。gRPC托管服務可以幫助用戶屏蔽注冊中心、配置中心和元數據中心的復雜度,只需要關注 gRPC服務自身的邏輯。

流量染色的三種妙用

流量染色是指根據流量協議設置對應的流量染色規則,對指定的流量進行染色標記,并在整個調用鏈中攜帶該標記。通過染色流量可以對特定的流量進行跟蹤和路由,所以流量染色功能常被用于灰度發布的場景。在業務系統迭代過程中會不斷有新版本發布,在正式發布前,可以使用流量染色控制先進行小規模驗證,通過收集使用體驗的數據,對應用新版本的功能、性能、穩定性等指標進行評判,然后再全量升級。即使某個新版本出現問題,也只會影響已染色流量,不會將問題蔓延至整個系統,保證整個系統的正常運行。

同理,流量染色功能還可以用于大促前的性能壓測。在線上壓測的場景中,為了讓壓測數據和正式的線上數據實現隔離,常用的方法是對于消息隊列,緩存,數據庫使用影子的方式。這就需要流量染色的技術,帶一個tag進去,說明這個請求是測試數據,還是真實數據。

此外,流量染色功能還可以用于多測試環境的治理。在大規模微服務場景下,不可能每個部門部署一套完整的環境,因為耗費的資源量實在是太大了。這時候就需要合理規劃測試環境,可以建立一個基準測試環境,對應Master分支,里面部署全量的應用。每一個分支對應有更新的模塊,比如說你修改了五個工程,測試的時候,不需要部署全量的應用,只需要把這五個工程去創建一個Delta測試環境就可以了。

當客戶端進行測試的時候,通過流量染色標記不同的測試分支流量,將該流量路由至測試版本。當這五個服務之內相互調用的時候,微服務框架就會選擇這五個服務的實例進行調用,如果需要調用五個服務之外的其他服務的時候,微服務框架會到Master環境里面,選擇服務實例進行調用。有了流量染色的環境治理機制,測試環境數量會大大減少。

輕舟流量染色的優勢
輕舟的流量染色還具有多方面優勢,比如支持HTTP、RPC等多種協議類型,支持NSF服務或API網關為流量入口,支持MQ等中間件的流量染色等。此外,輕舟的流量染色還支持流量染色穿梭和多個流量染色配置,即對于染色鏈路中未指定的服務,允許再請求中攜帶染色標記并在下一跳路由回染色鏈路,甚至允許同一個微服務同時參與多個流量染色。

gRPC 服務托管降低研發成本

本次輕舟的另一更新是gRPC服務托管。gRPC 是一個高性能、通用的開源 RPC 框架,越來越多的用戶已經開始采用 gRPC 作為微服務的通信解決方案。將 gPRC服務托管到 NSF微服務框架,用戶只需要關注 gRPC服務自身的邏輯,無需再關注注冊中心、配置中心和元數據中心的搭建和維護。托管后還可以使用 NSF提供的限流降級、拓撲關系、路由、及監控等能力,而且整個托管過程是無侵入的,不會增加用戶的理解成本和開發成本。

輕舟 gRPC 服務托管提供完善的治理能力

       目前輕舟 gRPC服務托管支持以下功能需求:

l 支持 gRPC服務的注冊與發現;

l 查看 gRPC 服務實例列表;

l 查看 gRPC 服務監控;

l 支持動態配置;

l 查看 gRPC 服務依賴關系和服務拓撲;

l 支持 gPRC 服務的限流、降級、容錯等治理能力;

l 支持 gRPC 服務的路由管理;

l 支持 gRPC 服務的流量染色;

通過知識庫管理 gRPC 服務元數據;

 


 

關鍵詞:gRPC網易輕舟

贊助商鏈接:

幸运飞艇计结果