Event Souring MQ 要求
基本需求
- 支援 pub/sub
- 支援 message queue (一次只有一個consumer 收到 message)
- 可以手動傳遞 Ack message (可以達到 at-lease-once)
- 最少在相同的topic下訊息順序保證
- 訊息持久性不丟失
- Cluster/Failover 架構
- 可以重新播放 Message
- 相同 topic 可以被不同的 consumer group 訂閱, 例如: order consumer group, payment consumer group 可以同時訂閱 order-topic
- 支援 Log Retention 依照時間自動刪除
- Topic 可以透過程式動態調整保存時間條件
- Log entry 可以往雲端storage 備份, 例如: aws s3
- topic 可以透過 sink 寫入到第三方服務, 例如: elasticsearch
進階需求
- 支援 SQL 查詢 topic
- 支援 topic 與 topic 之間的 message 交易 ( transaction 功能)
- 多租戶 (multi-tenancy)
- 多資料中心 (multi-region support)