KahaDB 複製 (實驗性)

功能 > 叢集 > 主從 > KahaDB 複製 (實驗性)

注意

此功能正在審查中,目前不提供支援。

概觀

新的 KahaDB 儲存支援一個非常快速且彈性的複製系統。其特色如下:

  • 日誌層級複製 (這表示在複製記錄時,主節點的額外負荷較低)。
  • 支援多個從節點。
  • 支援在執行階段動態新增從節點。
  • 使用多個並行資料傳輸連線來進行初始從節點同步。
  • 大型從節點同步可以恢復,因此如果重新啟動從節點,同步進度不會遺失。
  • 可設定的最小複本數量,讓您可以暫停處理,直到資料保證已複製足夠的次數。

主節點選舉

KahaDB 支援可插拔的主節點選舉演算法,但目前唯一的實作是基於 ZooKeeper 的實作。

ZooKeeper 用於實作主節點選舉演算法。ZooKeeper 是一個非常快速、已複製、記憶體中的資料庫,其功能使其易於實作叢集控制演算法。它是一個 Apache 專案,您可以免費下載。您必須安裝並至少有一個 ZooKeeper 伺服器正在執行,才能設定 KahaDB 主從組態。

設定 Broker

ActiveMQ Classic 二進位發行版在 $ACTIVEMQ_HOME/conf/ha.xml 中包含一個 KahaDB HA broker 組態。

它被設定為在 localhost 上的 2181 連接埠尋找 ZooKeeper 3.0.0 伺服器。如果您的 ZooKeeper 伺服器不是在此處執行,請編輯組態。

執行下列指令以啟動組態:

prompt> $ACTIVEMQ_HOME/bin/activemq xbean:ha.xml

組態檔案的實際內容如下:{snippet:lang=xml|id=example|url=activemq/trunk/assembly/src/release/conf/ha.xml}

了解 kahadbReplication XML 元素

brokerURI 屬性

請注意,brokerURI 屬性指向另一個 broker 組態檔案。ha-broker.xml 包含當節點接管為主節點時,broker 使用的實際 broker 組態。ha-broker.xml 組態檔案是一個標準的 broker 組態,但在以下方面除外:

  • 它必須在 broker 元素上設定 start="false" 屬性。
  • 它不得設定 persistenceAdapter。

上述規則允許複製系統在啟動時將複製的 KahaDB 儲存注入到主節點中。

minimumReplicas 屬性

minimumReplicas 指定在同步更新操作被視為成功之前,需要多少資料庫副本。將此值設定為 0 允許 broker 繼續運作,即使沒有連接任何從節點。如果將該值設定為 1 或更大,並且沒有連接任何從節點,則 broker 的持久訊息處理將暫停,直到連接最少數量的從節點並同步資料。

uri 屬性

uri 屬性應始終設定為基於 kdbr:// 的 URI。KDBR 代表「KahaDB 複製」,這是主節點和從節點之間使用的複製協定。主節點綁定指定的連接埠,從節點隨後連線並建立複製連線。uri 中的主機名稱必須更新為實際機器的的主機名稱,因為這也用於識別叢集中的節點。

directory 屬性

這是 KahaDB 將儲存其持久性檔案的資料目錄。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 專案標誌是 The Apache Software Foundation 的商標。版權所有 © 2024,The Apache Software Foundation。根據 Apache 授權 2.0 授權。