Apache Kafka:不是把訊息排隊,而是保存可重播的事件日誌
Kafka 的核心是依 partition 排序、依 retention 保存的分散式 log;consumer group 用 offset 分工,exactly-once 只在 Kafka transaction 能涵蓋的邊界內成立。
Kafka 的核心是依 partition 排序、依 retention 保存的分散式 log;consumer group 用 offset 分工,exactly-once 只在 Kafka transaction 能涵蓋的邊界內成立。
Pulsar 將 serving 與 storage 分離:stateless broker 處理連線,BookKeeper 保存 ledger 與 subscription cursor;彈性與多租戶能力換來更多營運元件。
Core NATS 是不落盤的 at-most-once pub/sub;JetStream 才加入 stream、consumer、ack、retention 與重播。兩者同用 subject,可靠性契約卻完全不同。
RabbitMQ 的強項是 exchange、binding 與 queue 組成的訊息路由;需要高可用時以 quorum queue 為預設,並同時啟用 publisher confirm、manual ack 與冪等 consumer。
Redis Streams 以 `XADD` 保存可回讀 entry,consumer group 再用 Pending Entries List 與 `XACK` 追蹤處理;它比 Pub/Sub 可靠,但不是自動變成 Kafka。
Redpanda 以 C++/Seastar、thread-per-core 與每個 partition 的 Raft group 重做 Kafka-compatible event log;client 相容度高,營運與邊角語意仍須實測。