回覆列表
  • 1 # 使用者5259373313650

    2.1. 單個 Master

    這種方式風險較大,一旦 Broker 重啟或者宕機時,會導致整個服務不可用,不建議線上環境使用。

    2.2. 多 Master 模式

    一個叢集無 Slave,全是 Master,例如 2 個 Master 或者 3 個 Master

    優點:配置簡單,單個 Master 宕機或重啟維護對應用無影響,在磁碟配置為 RAID10 時,即使機器宕機不可恢復情況下,由與 RAID10 磁碟非常可靠,訊息也不會丟(非同步刷盤丟失少量訊息,同步刷盤一條不丟)。效能最高。

    缺點:單臺機器宕機期間,這臺機器上未被消費的訊息在機器恢復之前不可訂閱,訊息實時性會受到受到影響。

    先啟動 NameServer

    在機器 A,啟動第一個 Master

    在機器 B,啟動第二個 Master

    2.3. 多 Master 多 Slave 模式,非同步複製

    每個 Master 配置一個 Slave,有多對 Master-Slave,HA 採用非同步複製方式,主備有短暫訊息延遲,毫秒級。

    優點:即使磁碟損壞,訊息丟失的非常少,且訊息實時性不會受影響,因為 Master 宕機後,消費者仍然可以從 Slave 消費,此過程對應用透明。不需要人工干預。效能同多 Master 模式幾乎一樣。

    缺點:Master 宕機,磁碟損壞情況,會丟失少量訊息。

    先啟動 NameServer

    在機器 A,啟動第一個 Master

    在機器 B,啟動第二個 Master

    在機器 C,啟動第一個 Slave

    在機器 D,啟動第二個 Slave

    2.4. 多 Master 多 Slave 模式,同步雙寫

    每個 Master 配置一個 Slave,有多對 Master-Slave,HA 採用同步雙寫方式,主備都寫成功,嚮應用返回成功。

    優點:資料與服務都無單點,Master 宕機情況下,訊息無延遲,服務可用性與資料可用性都非常高

    缺點:效能比非同步複製模式略低,。目前主宕機後,備機不能自動切換為主機。

    先啟動 NameServer

    在機器 A,啟動第一個 Master

    在機器 B,啟動第二個 Master

    在機器 C,啟動第一個 Slave

    在機器 D,啟動第二個 Slave

    以上 Broker 與 Slave 配對是透過指定相同的 brokerName 引數來配對,Master 的 BrokerId 必須是 0,Slave 的 BrokerId 必須是大與 0 的數。另外一個 Master 下面可以掛載多個 Slave,同一 Master 下的多個 Slave 透過指定不同的 BrokerId 來區分。

  • 中秋節和大豐收的關聯?
  • 喝酒幫助睡眠有沒有道理?你有過嗎?