covrom/redispubsub:Redis Streams的发布订阅驱动程序


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的队列实现包含一个很大的错误。如果一个消息已经被收到但没有被确认,它们不正确地支持将消费者重新连接到一个主题。他们使用了">"流策略,该策略不会多次传递未被确认的消息。而且,当微服务被重启时,你会错过消息。这个库没有这个缺点。