rocketMq之叢集搭建(三)
角色介紹
Producer:訊息傳送者,如發信者
Consumer:訊息接收者,如收信者
Broker:暫存和傳輸訊息,如郵局
Name Server:管理broker,如郵局的管理機構,對比eureka註冊中心,他註冊的topic及broker的對應關係
Topic:訊息分類,Producer可以傳送訊息到1個或多個topic,Consumer也可以訂閱1個或多個topic
Message Queue:類似topic的分割槽,即子類目。使用者並行收發訊息
Broker主從
Master節點:主要處理寫操作,用於接收Producer的資訊,把訊息儲存到自己的節點當中
Slave節點:只能處理讀操作,用於Consumer消費資訊,注意Consumer也能從Master中消費資訊,這也是Consumer與Broker Master建立長連線的原因
Master節點會通過長連線把訊息同步到Slave中,方式可以採用非同步或同步
叢集特點
Name Server是無狀態的,可叢集部署,節點之間無訊息同步
Broker分Master和Slave,同一組Master和Slave的BrokerName相同。而Master和Slave通過BrokerId進行區分,0表示主節點,非0表示從節點。Master可以有多個Slave,而Slave只能有一個Master,而一組的多個Slave的BrokerId必須不同。每一個Broker都會通過長連線來向所有的Name Server定時註冊topic路由資訊
Producer向Name Server叢集的其中一個節點(隨機選擇),定期從Name Server獲取路由資訊,並向提供Topic服務的Master建立長連線(因為Slave只能讀,不能寫),並定時向master傳送心跳,Producer無狀態,可叢集部署
Consumer向Name Server叢集的其中一個節點(隨機選擇),定期從Name Server獲取路由資訊,並向提供Topic服務的Master、Consumer建立長連線(因為Master和Slave都能讀),並定時向Master、Slave傳送心跳,Consumer既可以向Master訂閱訊息,頁可以向Slave訂閱訊息,訂閱規則由Broker配置決定
叢集模式
單Master模式:一旦Broker重啟或當機,導致整個服務不可用,可用於本地測試
多Master模式:無Slave,優點:單個Master重啟或當機對應用無影響,缺點:單臺機器當機期間,訊息在機器恢復前不能訂閱,影響實時性
多Master多Slave非同步模式:每一個Master對應一個Slave,有多對Master-Slave,HA採取非同步複製方式(即Producer向Broker Master寫完訊息後,Broker先保持資料,再傳送回復給Producer,最後向Slave同步訊息),優點:磁碟損壞,訊息丟失非常小,且實時性不受影響,當機可以從Slave消費,此過程對應用透明
多Master多Slave同步模式:每一個Master對應一個Slave,有多對Master-Slave,HA採取同步雙寫方式(即Producer向Broker Master寫完訊息後,Broker先儲存資料,然後向Slave同步訊息,同步完後再傳送回復給Producer)。優點:資料與服務都無單點故障,缺點:效能比非同步模式大約低10%左右,單訊息RT會略高
相關文章
- 【環境搭建】RocketMQ叢集搭建MQ
- rocketMq叢集master模式搭建MQAST模式
- RocketMQ雙主雙從叢集搭建MQ
- 4 種高可用 RocketMQ 叢集搭建方案!MQ
- RocketMQ 4.7.1 環境搭建、叢集、MQ整合SpringBootMQSpring Boot
- RocketMQ4.7.1雙主雙從叢集搭建MQ
- Redis叢集搭建 三主三從Redis
- Redis叢集搭建(三主三從)Redis
- 搭建zookeeper叢集(偽叢集)
- 微服務Consul系列之叢集搭建微服務
- 大資料之CDH叢集搭建大資料
- zookeeper叢集及kafka叢集搭建Kafka
- linux下搭建ZooKeeper叢集(偽叢集)Linux
- Redis系列:搭建Redis叢集(叢集模式)Redis模式
- 搭建ELK叢集
- Ambari叢集搭建
- kafka叢集搭建Kafka
- Hadoop搭建叢集Hadoop
- zookeeper 叢集搭建
- 搭建 Redis 叢集Redis
- nacos 叢集搭建
- mysql叢集搭建MySql
- redis叢集搭建Redis
- Hadoop叢集搭建Hadoop
- Zookeeper叢集搭建
- RabbitMQ叢集搭建MQ
- HBASE叢集搭建
- java商城系統架構之第三篇——叢集架構搭建Java架構
- Hadoop叢集之 ZooKeeper和Hbase環境搭建Hadoop
- Hadoop叢集搭建之關閉防火牆(一)Hadoop防火牆
- 達夢DBlink叢集之間通訊搭建
- Elasticsearch高階之-叢集搭建,資料分片Elasticsearch
- 基於Kubernetes v1.24.0的叢集搭建(三)
- 4.4 Hadoop叢集搭建Hadoop
- Redis(5.0) 叢集搭建Redis
- MySQL 5.7 叢集搭建MySql
- 搭建spark on yarn 叢集SparkYarn
- ZooKeeper 搭建 solr 叢集Solr