RocketMQ的存储之消息的同步、异步刷盘
生活随笔
收集整理的這篇文章主要介紹了
RocketMQ的存储之消息的同步、异步刷盘
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
同步刷盤與異步刷盤
RocketMQ 為了提高性能,會盡可能地保證 磁盤的順序寫。消息在通過 Producer 寫入 RocketMQ 的時候,有兩種寫磁盤方式,分別是同步刷盤與異步刷盤。
同步刷盤
在返回寫成功狀態時,消息已經被寫入磁盤 。
具體流程是:消息寫入內存的 PAGECACHE 后,立刻通知刷盤線程刷盤,然后等待刷盤完成,刷盤線程執行完成后喚醒等待的線程,返回消息寫成功的狀態 。
異步刷盤
在返回寫成功狀態時,消息可能只是被寫入了內存的 PAGECACHE,寫操作的返回快,吞吐量大
當內存里的消息量積累到一定程度時,統一觸發寫磁盤動作,快速寫入。
broker配置文件中指定刷盤方式
flushDiskType=ASYNC_FLUSH -- 異步
flushDiskType=SYNC_FLUSH -- 同步
?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的RocketMQ的存储之消息的同步、异步刷盘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RocketMQ的存储之消息的存储分析
- 下一篇: RocketMQ错误消息重试策略之重试情