Dubbo-go 服務(wù)層級(jí)

2022-04-13 17:31 更新

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

如下圖所示,可以看到,應(yīng)用級(jí)別的組件以淺紅色標(biāo)注,接建立如下文件目錄口級(jí)別的組件以淺藍(lán)色標(biāo)注:

1. 應(yīng)用級(jí)別組件

應(yīng)用級(jí)別組件的特點(diǎn):被當(dāng)前應(yīng)用的所有接口級(jí)別組件共用。

應(yīng)用級(jí)別的主要組件如下:

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

2. 接口級(jí)別組件

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

3. 說(shuō)明

暴露的服務(wù)是接口級(jí)別的,一個(gè)用戶(hù)定義的 Provider Struct/一個(gè)用戶(hù)定義的Consumer Struct,對(duì)應(yīng)一個(gè)Service/Reference 模塊,一個(gè)應(yīng)用可以同時(shí)存在Consumer 模塊和 Provider 模塊,因此可以同時(shí)存在多個(gè)Service/Reference 模塊。



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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)