Dubbo 的應用和介面

Dubbo 的應用與介面

Dubbogo 服務層級

Dubbogo 有兩個服務層級:應用程式層級和介面層級,它們與**框架配置**結構密切相關。

如下圖所示,可以看到應用程式層級的元件以淺紅色標記,介面層級的元件以淺藍色標記

img

1. 應用程式層級元件

應用程式層級元件的特點:由目前應用程式的所有介面層級元件共用。

主要的應用程式層級元件如下:

  • 應用程式資訊模組

    包含與應用程式維度相關的資訊,包括應用程式名稱、版本號、資料回報方式等。

  • 消費者模組

    消費者模組負責與客戶端相關的資訊,包括一個或多個 Reference 結構,以及逾時、消費者過濾器等相關資訊。

提供者模組

提供者模組負責與伺服器端相關的資訊,包括一個或多個服務 (Service) 結構、伺服器端過濾器 (提供者過濾器) 等相關資訊。

  • 註冊中心模組

    註冊中心模組負責定義一系列要使用的註冊中心,例如框架支援的 ZK、Nacos、etcd 等中介軟體。應用程式層級的註冊模組僅負責宣告,由介面層級的元件引用,引用時使用使用者定義的註冊中心 ID (registryID) 作為索引。

  • 協定模組

    協定模組僅存在於伺服器端。

    協定模組關心服務暴露的資訊,例如協定名稱、服務監聽 IP、埠號等資訊。協定模組屬於應用程式層級,僅負責宣告,並由介面層級的組件以使用者自定義的協定 ID (protocolID) 作為索引來引用。

  • 中繼資料中心模組

    中繼資料中心類似於註冊中心模組,負責宣告框架需要使用的中繼資料中心,以便成功回報中繼資料。

  • 配置中心模組

  • 路由模組

  • 日誌模組

  • 監控模組

2. 介面層級組件

  • 服務模組

    服務模組用於任何暴露的服務,宣告介面暴露所需的資訊,包括介面名稱、協定、序列化方法等,並負責單個服務介面的暴露。

  • 引用模組

    引用模組由需要呼叫遠端服務的客戶端使用。它宣告請求介面所需的資訊,包括介面名稱、協定、序列化方法等,負責特定協定的抽象化,並參與客戶端的產生。

3. 說明

暴露的服務位於介面層級。使用者自定義的 Provider Struct/使用者自定義的 Consumer Struct 對應於一個 Service/Reference 模組。一個應用程式可以同時擁有 Consumer 模組和 Provider 模組,因此可以同時存在多個 Service/Reference 模組。


上次修改時間:2023 年 2 月 23 日:SEO / img alt 更新 (35090e3f9b4)