天天看點

Rocket整理

Rocket原理

Rocket整理

1.延遲消息

Rocket整理

2.死信消息

Rocket整理

3.有序消息

rocketMQ隻能做到"相對有序",而不是全局有序,即Topic下的某個Queue内的消息是有序的。

需要開發者實作MessageQueueSelector邏輯

Rocket整理

4.事務消息

業務場景:保證本地事務和投遞到下遊的消息,要麼一起成功,要麼一起失敗。一般用于分布式事務的場景

5.存在的問題

  • 所有的消息共用commitlog檔案,預設過期14天,這個規則是針對所有topic的中的消息。kafka消息過期時間可以支援到topic級别。

  • 所有的消息共用commitlog檔案,大吞吐場景下,假如有長時間的延遲隊列(比如7Days,1month這種)這種情況下消息可能不在pageCache中,導緻讀取磁盤,會影響整體的性能。

  • 假如slave節點當機很久,slave重新開機後,會從master節點拉取曆史消息進行同步,會産生大量磁盤io,大幅降低pageCache命中率,導緻吞吐量降低

6.總結

  • 支援積壓大量消息

  • 自動容災,高可用

  • 獨立維護各topic的index,pagecache使用率更高

  • 不依賴zk,容易運維

  • 不支援個性化topic過期時間配置