dubbo-go 3.0 新特性

2022-04-14 11:12 更新

1. Triple 協(xié)議 

1.1 概述

  • 通信層面Triple 協(xié)議,也稱為Dubbo3協(xié)議,是基于HTTP2 + gRPC協(xié)議,增加特定字段和邏輯的擴(kuò)展協(xié)議,保證了和原生gRPC協(xié)議互通。在此基礎(chǔ)之上,Triple 新協(xié)議將更原生地支持 Dubbo 服務(wù)治理能力。并支持流式RPC調(diào)用。簡單來說,可以理解為 Triple = gRPC + Dubbo
  • 序列化Triple 協(xié)議使用高效的PB序列化方式,并在此基礎(chǔ)之上增加序列化協(xié)議的可擴(kuò)展支持。
  • 用戶開發(fā)習(xí)慣:Triple 服務(wù)在開發(fā)前需要預(yù)定義.proto文件,對于習(xí)慣在編碼前先定義IDL的Go語言開發(fā)者帶來便捷。不同于符合java編程習(xí)慣的,定義JavaClassName用于描述接口的 Dubbo-go 1.x版本。
  • 跨語言互通性:可與 Dubbo-Java 實現(xiàn)跨語言互通。

2. 應(yīng)用級服務(wù)發(fā)現(xiàn)

2.1 簡介

在服務(wù)注冊階段,服務(wù)端實例將應(yīng)用級別的注冊信息,主要包含從應(yīng)用名到實例IP的映射注冊到注冊中心。在服務(wù)發(fā)現(xiàn)階段,客戶端實例,通過注冊中心獲取到需要請求的服務(wù)實例IP。進(jìn)入服務(wù)自省階段,服務(wù)自省過程為通過應(yīng)用信息獲取接口信息的過程。如上圖,包含兩種模式:

  1. remote模式:通過元數(shù)據(jù)中心(例如 zk )獲取應(yīng)用到接口元數(shù)據(jù)的映射
  2. local模式:直接通過服務(wù)端獲取應(yīng)用到接口元數(shù)據(jù)的映射(通過 Dubbo 協(xié)議針對 Metadata Service 發(fā)起 RPC 調(diào)用)

經(jīng)過服務(wù)自省后,客戶端正式向?qū)?yīng)實例發(fā)起調(diào)用。這樣做最明顯的好處是減少了注冊中心的數(shù)據(jù)量,即注冊中心只保存了應(yīng)用級別的數(shù)據(jù)。

用戶在使用 Dubbo-go 3.0的應(yīng)用級服務(wù)發(fā)現(xiàn)能力時,可以仿照示例,直接在配置文件中配置服務(wù)自省模式和元數(shù)據(jù)中心信息,引入依賴,開啟應(yīng)用級別服務(wù)發(fā)現(xiàn)。

2.2 應(yīng)用級服務(wù)發(fā)現(xiàn)介紹文章

應(yīng)用級服務(wù)發(fā)現(xiàn)解析

3. Mesh 路由由規(guī)則

用戶可定義路由文件:

virtual_service.yaml

以及 dist_rule.yml

框架可根據(jù)路由文件針對特定的請求進(jìn)行流量轉(zhuǎn)發(fā)。

4. 相關(guān)文章

阿里云官方介紹文章:《Dubbo 3.0 - 開啟下一代云原生微服務(wù)》


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號