covrom/redispubsub:Redis Streams的釋出訂閱驅動程式

banq發表於2022-11-28

Go語言·的package pubsub 提供了一種簡單且可移植的方式來與釋出/訂閱系統進行互動。這個專案驅動是基於pubsub的Redis 驅動程式,使用 Redis Streams,此驅動程式支援at-least-once交付。這是替代 Kafka 的一個很好的方案。

這個驅動程式支援Redis命令:
  • XADD
  • XGROUP CREATE
  • XREADGROUP (with pending and then new messages - only this library actually supports it)
  • XACK


許多其他使用Redis Streams的佇列實現包含一個很大的錯誤。如果一個訊息已經被收到但沒有被確認,它們不正確地支援將消費者重新連線到一個主題。他們使用了">"流策略,該策略不會多次傳遞未被確認的訊息。而且,當微服務被重啟時,你會錯過訊息。這個庫沒有這個缺點。

相關文章