Rocketmq broker 是主從架構還是集群架構,可以故障自動轉移嗎

RocketMQ Broker的架構與故障轉移機制

RocketMQ的Broker架構同時采用了主從架構集群架構,并且支持故障自動轉移。下面詳細說明:

一、架構類型

1. 集群架構

  • RocketMQ天然支持分布式集群部署

  • 一個RocketMQ集群包含多個Broker組(每組有主從)

  • 不同Broker組之間是集群關系,共同提供服務

2. 主從架構(每組Broker內部)

  • 每個Broker組內部采用主從架構

  • 包含1個Master Broker和1個或多個Slave Broker

  • 主從之間數據同步方式:

    • 同步復制(強一致性)

    • 異步復制(更高性能)

二、故障自動轉移能力

1. 主從切換(自動故障轉移)

  • 當Master宕機時,Slave可以自動或手動提升為新的Master

  • 自動切換條件:

    • 配置了brokerRole=SYNC_MASTER(同步復制模式)

    • Slave與Master數據同步狀態良好

    • NameServer檢測到Master不可用

2. 消費者自動重試

  • 消費者會自動檢測Broker故障

  • 自動連接到可用的Broker(Slave或其他Master)繼續消費

3. 生產者自動發現

  • 生產者定期從NameServer獲取最新的路由信息

  • 自動發現可用的Broker節點

三、典型部署架構示例

復制

下載

+-------------------+     +-------------------+
|   Broker Group 1  |     |   Broker Group 2  |
|  +-----+ +-----+  |     |  +-----+ +-----+  |
|  |Master| |Slave|  |<--->|  |Master| |Slave|  |
|  +-----+ +-----+  |     |  +-----+ +-----+  |
+-------------------+     +-------------------+^  ^                     ^  ^|  |                     |  |v  v                     v  v
+-------------------+     +-------------------+
|   NameServer      |     |   NameServer      |
|   (集群部署)       |     |   (集群部署)       |
+-------------------+     +-------------------+

四、故障轉移流程

  1. 故障檢測

    • NameServer定期(默認10秒)檢測Broker存活狀態

    • Slave會檢測Master的心跳

  2. 主從切換

    • 當Master不可達超過一定時間(默認30秒)

    • Slave自動或手動(取決于配置)接管成為新Master

  3. 路由更新

    • NameServer更新路由信息

    • 生產者和消費者從NameServer獲取新路由

五、配置要點

  1. 啟用高可用:

properties

復制

下載

brokerRole=SYNC_MASTER  # 同步復制模式才能自動故障轉移
  1. 建議配置:

  • 至少部署2個Broker組(每組1主1從)

  • 部署3個及以上NameServer節點

  • 使用同步復制模式保證數據安全性

六、注意事項

  1. 異步復制模式下自動故障轉移可能丟失少量數據

  2. 自動切換后需要人工介入修復原Master

  3. 跨機房部署時需要考慮網絡分區問題

RocketMQ的這種設計既保證了水平擴展能力(集群架構),又提供了高可用性(主從架構),是分布式消息中間件的典型架構設計。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/82054.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82054.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/82054.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從零開始建立個人品牌并驗證定位變現性的方法論——基于開源AI大模型、AI智能名片與S2B2C商城生態的實證研究

摘要&#xff1a;本文提出一種融合開源AI大模型、AI智能名片與S2B2C商城小程序源碼的"最小測試閉環"方法論&#xff0c;通過技術賦能實現個人品牌定位的精準驗證與變現路徑優化。以某美妝領域自由職業者為例&#xff0c;其通過開源AI大模型完成能力圖譜構建與資源匹配…

SQL進階之旅 Day 2:高效的表設計與規范:從基礎到實戰

【SQL進階之旅 Day 2】高效的表設計與規范&#xff1a;從基礎到實戰 開篇 在數據庫開發中&#xff0c;一個良好的表設計不僅能夠提高查詢效率&#xff0c;還能避免冗余數據和一致性問題。本文作為"SQL進階之旅"系列的第2天&#xff0c;將重點介紹高效的表設計與規范…

Java—— IO流的應用

帶權重的點名系統 案例要求 文件中有學生的信息&#xff0c;每個學生的信息獨占一行。包括學生的姓名&#xff0c;性別&#xff0c;權重 要求每次被抽中的學生&#xff0c;再次被抽中的概率在原先的基礎上降低一半。 本題的核心就是帶權重的隨機 分析 權重&#xff0c;權重和…

Docker中部署Alertmanager

在 Docker 中部署 Alertmanager&#xff08;通常與 Prometheus 告警系統配合使用&#xff09;的步驟如下&#xff1a; 一、拉取鏡像prom/alertmanager docker pull prom/alertmanager二、 創建 Alertmanager 配置文件 首先準備Alertmanager的配置文件 alertmanager.yml(如存…

【大模型面試每日一題】Day 27:自注意力機制中Q/K/V矩陣的作用與縮放因子原理

【大模型面試每日一題】Day 27&#xff1a;自注意力機制中Q/K/V矩陣的作用與縮放因子原理 &#x1f4cc; 題目重現 &#x1f31f;&#x1f31f; 面試官&#xff1a;請解釋Transformer自注意力機制中Query、Key、Value矩陣的核心作用&#xff0c;并分析為何在計算注意力分數時…

AI+能碳管理系統:全生命周期碳管理

在"雙碳"目標的時代背景下&#xff0c;AI賦能的能碳管理系統正在重新定義企業碳管理的邊界與深度。這套系統猶如一位不知疲倦的碳管家&#xff0c;從原材料采購到產品報廢&#xff0c;在每一個價值環節編織起精密的碳管理網絡&#xff0c;實現從微觀設備到宏觀戰略的…

k8s1.27版本集群部署minio分布式

需求&#xff1a; 1.創建4個pv&#xff0c;一個pv一個minio-pod。使用sts動態分配pvc(根據存儲類找到pv)。----持久化 2.暴露minio的9001端口。&#xff08;nodeport&#xff09;----管理界面 鏡像&#xff1a;minio/minio:RELEASE.2023-03-20T20-16-18Z--->換國內源 說明…

使用 OpenCV 實現 ArUco 碼識別與坐標軸繪制

&#x1f3af; 使用 OpenCV 實現 ArUco 碼識別與坐標軸繪制&#xff08;含Python源碼&#xff09; Aruco 是一種廣泛用于機器人、增強現實&#xff08;AR&#xff09;和相機標定的方形標記系統。本文將帶你一步一步使用 Python OpenCV 實現圖像中多個 ArUco 碼的檢測與坐標軸…

Qt 控件發展歷程 + 目標(1)

文章目錄 聲明簡述控件的發展歷程學習目標QWidget屬性 簡介&#xff1a;這篇文章只是一個引子&#xff0c;介紹一點與控件相關的但不重要的內容&#xff08;瀏覽瀏覽即可&#xff09;&#xff0c;這一章節最為重要的還是要把之后常用且重要的控件屬性和作用給學透&#xff0c;學…

socc 19 echash論文部分解讀

前言&#xff1a;論文還是得吃透才行&#xff0c;不然很多細節有問題 q1 object和data chunck哪一個大 根據論文&#xff0c;一個 data chunk 通常比一個 object 大&#xff0c;因為它是由多個 object 組合而成的 。 論文中提到&#xff0c;cross-coding 會將多個 object 組合…

w~自動駕駛~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12371169 #世界模型和DriveGPT這類大模型到底能給自動駕駛帶來什么ne 以下分享大模型與自動駕駛結合的相關工作9篇論 1、ADAPT ADAPT: Action-aware Driving Caption Transformer&#xff08;ICRA2023&#xff09; A…

【paddle】常見的數學運算

根據提供的 PaddlePaddle 函數列表&#xff0c;我們可以將它們按照數學運算、邏輯運算、三角函數、特殊函數、統計函數、張量操作和其他操作等類型進行分類。以下是根據函數功能進行的分類&#xff1a; 取整運算 Rounding functions 代碼描述round(x)距離 x 最近的整數floor(…

繪制音頻信號的各種頻譜圖,包括Mel頻譜圖、STFT頻譜圖等。它不僅能夠繪制頻譜圖librosa.display.specshow

librosa.display.specshow 是一個非常方便的函數&#xff0c;用于繪制音頻信號的各種頻譜圖&#xff0c;包括Mel頻譜圖、STFT頻譜圖等。它不僅能夠繪制頻譜圖&#xff0c;還能自動設置軸標簽和刻度&#xff0c;使得生成的圖像更加直觀和易于理解。 ### 函數簽名 python libros…

DDR DFI 5.2 協議接口學習梳理筆記01

備注:本文新增對各種時鐘含義做了明確定義區分,避免大家產生誤解,這也是5.2版本新引入的。 1. 前言 截止2025年5月,DFI協議最新版本為 5.2,我們首先看一下過去幾代的演進: DFI全稱DDR PHY Interface,是一種接口協議,定義了 Controller 和 PHY 之間接口的信號、時序以…

windows篡改腳本提醒

? 功能簡介 該監控系統具備如下主要功能&#xff1a; &#x1f4c1; 目錄監控 實時監聽指定主目錄及其所有子目錄內文件的變動情況。 &#x1f512; 文件哈希校驗 對文件內容生成 SHA256 哈希&#xff0c;確保變更檢測基于內容而非時間戳。 &#x1f6ab; 排除機制 支…

文章記單詞 | 第102篇(六級)

一&#xff0c;單詞釋義 apologize /??p?l?d?a?z/ v. 道歉&#xff1b;認錯discharge /d?s?t?ɑ?rd?/ v./n. 排出&#xff1b;釋放&#xff1b;解雇&#xff1b; dischargequiver /?kw?v?r/ v./n. 顫抖&#xff1b;抖動&#xff1b;箭筒plantation /pln?te??…

【DCGMI專題1】---DCGMI 在 Ubuntu 22.04 上的深度安裝指南與原理分析(含架構圖解)

目錄 一、DCGMI 概述與應用場景 二、Ubuntu 22.04 系統準備 2.1 系統要求 2.2 環境清理(可選) 三、DCGMI 安裝步驟(詳細圖解) 3.1 安裝流程總覽 3.2 分步操作指南 3.2.1 系統更新與依賴安裝 3.2.2 添加 NVIDIA 官方倉庫 3.2.3 安裝數據中心驅動與 DCGM 3.2.4 服務…

主成分分析(PCA)法例題——給定協方差矩陣

已知樣本集合的協方差矩陣為 C x 1 10 [ 3 1 1 1 3 ? 1 1 ? 1 3 ] {\bm C}_x \frac{1}{10} \begin{bmatrix} 3 & 1 & 1 \\ 1 & 3 & -1 \\ 1 & -1 & 3 \end{bmatrix} Cx?101? ?311?13?1?1?13? ? 使用PCA方法將樣本向量降到二維 。 求解 計…

uni-app(4):js語法、css語法

1 js語法 uni-app的js API由標準ECMAScript的js API 和 uni 擴展 API 這兩部分組成。標準ECMAScript的js僅是最基礎的js。瀏覽器基于它擴展了window、document、navigator等對象。小程序也基于標準js擴展了各種wx.xx、my.xx、swan.xx的API。node也擴展了fs等模塊。uni-app基于E…

Idea 配合 devtools 依賴 實現熱部署

核心依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency> yaml配置 spring: #…