Dubbo-go 服務(wù)層級

2022-04-13 17:31 更新

Dubbo-go 服務(wù)層級為兩個級別:分別是應用級別(App Level)和接口級別(Interface Level),該服務(wù)分層與框架配置結(jié)構(gòu)息息相關(guān)。

如下圖所示,可以看到,應用級別的組件以淺紅色標注,接建立如下文件目錄口級別的組件以淺藍色標注:

1. 應用級別組件

應用級別組件的特點:被當前應用的所有接口級別組件共用。

應用級別的主要組件如下:

  • 應用信息模塊
    包含應用維度相關(guān)信息,包括應用名、版本號、數(shù)據(jù)上報方式等
  • Consumer 模塊
    Consumer 模塊負責客戶端相關(guān)信息,包括一個或多個引用(Reference)結(jié)構(gòu),以及超時、客戶端過濾器(consumer filter)等相關(guān)信息。
  • Provider 模塊
    Provider 模塊負責服務(wù)端相關(guān)信息,包括一個或多個服務(wù)(Service)結(jié)構(gòu)、服務(wù)端過濾器(provider filter)等相關(guān)信息。
  • 注冊中心(Registry)模塊
    注冊中心模塊負責定義好所要使用的一系列注冊中心,例如框架支持的ZK、Nacos、ETCD等中間件。應用級別的注冊模塊只負責聲明,由接口級別的組件進行引用,引用時以用戶自定義的注冊中心ID(registryID) 作為索引。
  • 協(xié)議(Protocol)模塊
    協(xié)議模塊只存在于服務(wù)端。
    協(xié)議模塊關(guān)心服務(wù)的暴露信息,例如協(xié)議名、服務(wù)監(jiān)聽IP、端口號等信息。協(xié)議模塊屬于應用級別,只負責聲明,由接口級別的組件進行引用,引用時以用戶自定義的協(xié)議ID(protocolID) 作為索引。
  • 元數(shù)據(jù)中心模塊
    元數(shù)據(jù)中心類似于注冊中心模塊,負責聲明框架需要使用的元數(shù)據(jù)中心,從而將元數(shù)據(jù)成功上報。
  • 配置中心模塊
  • 路由模塊
  • 日志模塊
  • 監(jiān)控模塊

2. 接口級別組件

  • 服務(wù)(Service)模塊
    服務(wù)模塊被使用于任何暴露的服務(wù),聲明接口暴露所需的信息,包括例如接口名、協(xié)議、序列化方式等,負責單個服務(wù)接口的暴露。
  • 引用(Reference)模塊
    引用模塊被使用于需要調(diào)用的遠程服務(wù)的客戶端,其聲明了需要請求接口所需的信息,包括例如接口名、協(xié)議、序列化方式等、負責特定協(xié)議的抽象,參與客戶端的生成。

3. 說明

暴露的服務(wù)是接口級別的,一個用戶定義的 Provider Struct/一個用戶定義的Consumer Struct,對應一個Service/Reference 模塊,一個應用可以同時存在Consumer 模塊和 Provider 模塊,因此可以同時存在多個Service/Reference 模塊。



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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號