二、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的訊息也可以分...