一 RocketMQ總體架構 參與者如何通訊的?

2021-10-04 23:24:53 字數 1007 閱讀 6248

二、broker集群:

斷開:2.broker集群組成:

3.可用性

master恢復恢復後,訊息能否恢復。

4.訊息清理

清理時機

不同broker集群建立相同的topic而言是沒問題的。但是如果是不同集群間的brokername有一致的則會有很大的問題。

三、生產者:

2.@broker關係

連線斷開:移除broker上的生產者資訊

3.負載均衡:每個生產者向broker的所有佇列輪詢傳送訊息

四、消費者:

2.@broker關係

斷開:

1.當某乙個broker發生宕機,namerserver的剔除是120s,有延遲,那麼作為客戶端的生產者or消費者,是如何保證訊息傳送or消費的可靠性的?詳見生產者 以及 消費者@namserserver

2.消費者根據佇列分配演算法,得到本消費者對應的佇列。當該主題的多個消費者動態增加或減少時,消費者的佇列負載是沒30s一次,不能達到實時性,那消費者是如何實時重新分配佇列的呢?見消費者的負載均衡

;見rocketmq

訊息消費總覽-問題

3. 斷掉broker時,nameserver就感知到了,是不是與nameserver和broker的長連線斷掉有關?tcp中斷時,會被handler的監聽到nettyconnectmanagehandler#close,然後呼叫鏈:nettyremotingabstract#putnettyevent->nettyeventexecutor#putnettyevent->nettyeventexecutor#run->brokerhousekeepingservice#onchannelclose->routeinfomanager#onchanneldestroy

5. nameserv無法像zk那樣實時感知到生產者、消費者、broker的宕機,設計上由客戶端來解決

RocketMQ架構原理

結合部署結構圖,描述集群工作流程 1,啟動namesrv,namesrv起來後監聽埠,等待broker produer consumer連上來,相當於乙個路由控制中心。2,broker啟動,跟所有的namesrv保持長連線,定時傳送心跳包。心跳包中包含當前broker資訊 ip 埠等 以及儲存所有t...

RocketMQ架構簡介

apache rocketmq是一款具有低延遲,高效能和可靠性,數十億容量和靈活可擴充套件性的分布式訊息傳遞和流 平台。它由四部分組成 name servers,brokers,producers和consumers。它們中的每乙個都可以在沒有單點故障的情況下進行水平擴充套件。name server...

RocketMQ架構原理

訊息模型。rocketmq主要由producer broker consumer三部分組成,其中producer負責生產訊息,consumer負責消費訊息,broker負責儲存訊息。broker在實際部署過程中對應一台伺服器,每個broker可以儲存多個topic的訊息,每個topic的訊息也可以分...