多點廣播 (Multicast)

多播廣播註冊中心(僅用於開發階段)

多播註冊中心不需要啟動任何中心節點,只要廣播地址相同,它們就可以互相發現。

/user-guide/images/multicast.jpg

1 使用說明

<dubbo:registry address="multicast://224.5.6.7:1234" />

<dubbo:registry protocol="multicast" address="224.5.6.7:1234" />

注意事項

為了減少廣播量,Dubbo 預設使用單播將提供者地址資訊發送給消費者。如果在一台機器上同時啟動多個消費者程序,則消費者必須宣告 unicast=false,否則只有一個消費者可以收到訊息;當伺服器和消費者運行在同一台機器上時,消費者也必須宣告 unicast=false,否則消費者無法收到訊息,導致 No provider available for the service 的異常。

<dubbo:application name="demo-consumer">
    <dubbo:parameter key="unicast" value="false" />
</dubbo:application>

<dubbo:consumer>
    <dubbo:parameter key="unicast" value="false" />
</dubbo:consumer>

2 運作方式

2.1 基本流程

  1. 提供者在啟動時廣播自身的地址
  2. 消費者在啟動時廣播訂閱請求
  3. 提供者收到訂閱請求後,會單播自身的地址給訂閱者。如果設定了 unicast=false,則會廣播給訂閱者。
  4. 消費者收到提供者的地址後,會連接到該地址進行 RPC 呼叫。

2.2 使用限制

多播受限於網路結構,僅適用於小規模應用或開發階段。多播地址段:224.0.0.0 - 239.255.255.255


最後修改日期:2023 年 1 月 2 日:增強英文文件 (#1798) (95a9f4f6c1c)