原文:RocketMQ源碼 — 五、 主要feature及其實現方式

RocketMQ的主要特點以及實現方式 單機支持 萬以上持久隊列 所有數據單獨存儲到一個CommitLog,完全順序寫,隨機讀 在一個broker上一個DefaultMessageStore管理一個commitLog 順序寫:在commitLog.putMessage里面獲取mapedFile之后進入synchronized塊,開始寫內存,所以當有新的消息需要保存的時候會等待鎖釋放,所以寫消息的時 ...

2017-01-18 23:01 1 1727 推薦指數:

查看詳情

源碼RocketMQ如何實現獲取指定消息

概要 消息查詢是什么? 消息查詢就是根據用戶提供的msgId從MQ中取出該消息 RocketMQ如果有多個節點如何查詢? 問題:RocketMQ分布式結構中,數據分散在各個節點,即便是同一Topic的數據,也未必都在一個broker上。客戶端怎么知道數據該去哪個節點上查? 猜想1:逐個 ...

Sun Aug 16 07:14:00 CST 2020 0 1007
RocketMQ源碼 — 八、 RocketMQ消息重試

RocketMQ的消息重試包含了producer發送消息的重試和consumer消息消費的重試。 producer發送消息重試 producer在發送消息的時候如果發送失敗了,RocketMQ會自動重試。 重試幾次? 由上面可以看出發送消息的重試次數區分不同的情況: 同步發送 ...

Wed May 09 06:26:00 CST 2018 0 2300
RocketMQ源碼 — 六、 RocketMQ高可用(1)

高可用究竟指的是什么?請參考:關於高可用的系統 RocketMQ做了以下的事情來保證系統的高可用 多master部署,防止單點故障 消息冗余(主從結構),防止消息丟失 故障恢復(本篇暫不討論) 那么問題來了: 怎么支持多broker的寫? 怎么實現消息冗余 ...

Sat May 05 22:46:00 CST 2018 0 4845
RocketMQ源碼 — 七、 RocketMQ高可用(2)

上一篇說明了RocketMQ怎么支持broker集群的,這里接着說RocketMQ實現高可用的手段之一——冗余。 RocketMQ部署的時候一個broker set會有一個mater和一個或者多個slave,salve起到的作用就是同步master存儲的的消息,並且會接收部分consumer讀取 ...

Mon May 07 00:12:00 CST 2018 1 1913
rocketmq源碼分析4-事務消息實現原理

為什么消息要具備事務能力 參見還是比較清晰的。簡單的說 就是在你業務邏輯過程中,需要發送一條消息給訂閱消息的人,但是期望是 此邏輯過程完全成功完成之后才能使訂閱者收到消息。業務邏輯過程 假設是這樣的 ...

Tue Feb 28 19:46:00 CST 2017 0 3064
EasyTransaction主要源碼分析

EasyTransaction是一個全功能的分布式事務框架,以下特性摘抄自其首頁:https://github.com/QNJR-GROUP/EasyTransaction 一個框架包含多種事 ...

Mon Jul 01 07:11:00 CST 2019 0 2692
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM