基本需求
1. 支援 pub/sub
2. 支援 message queue (一次只有一個consumer 收到 message)
3. 可以手動傳遞 Ack message (可以達到 at-lease-once)
4. 最少在相同的topic下訊息順序保證
5. 訊息持久性不丟失
6. Cluster/Failover 架構
7. 可以重新播放 Message
8. 相同 topic 可以被不同的 consumer group 訂閱, 例如: order consumer group, payment consumer group 可以同時訂閱 order-topic
9. 支援 Log Retention 依照時間自動刪除