訊息的分發策略最基礎的就是推,拉機制,這有個最好的理解就是git -> pull 和 push
在這基礎上制定了有5中訊息的分發策略。(√ 支援,× 不支援)
1.發布訂閱:生產者生產多少條訊息,每個消費者就消費多少條訊息(push)
2.輪詢分發:訊息數/消費者數 = 每個消費者消費的訊息數 (除不盡剩下條數隨機)
3.公平分發:公平分發就要將服務的效能,效能高的消費的訊息條數就多(手動應答)
(與發布訂閱不同,2,3策略訊息消費後就不存在了)
4.重發:保證訊息被消費,有個應答機制,保證訊息的可靠性
5.訊息拉取(pull)
Storm的訊息分發策略
1.shuffle grouping 隨機分組 tuple會被隨機分發到所有bolt,每個bolt會得到相同數量的tuple,使得負載均衡。2.fields grouping 按欄位分組 按field分發,只能傳送給相同field的bolt。例如 builder.setbolt mybolt new...
kafka 生產者訊息分發策略
訊息是kafka中最基本的額資料單元,在kafka中,一條訊息由key value兩部分構成,在傳送一條訊息時,我們可以指定這個key,producer會根據key來判斷當前這條訊息應該 路由儲存到哪個partition。預設情況下,kafka採用的是對key進行hash取模計算出分割槽。如果key...
rocketmq broker 訊息分發流程分析
文章基於rocket mq4.0 分析 server接收到訊息後,會將訊息分發到對應的consumequeue中,等待client端拉取消費。核心類 org.apache.rocketmq.store.defaultmessagestore.reputmessageservice類圖 該類繼承 se...