Redis 流:组/消费者命名和清理

问题描述

我有一个相当原始的流用例:多个生产者和 1 个消费者定期批量处理消息。有时会有超过 1 个消费者,这就是为什么我想从“传统”不可靠队列(rpush/lrange/ltrim)切换到流。

实际上有两个相关的问题:

  1. 使用 Redis 消费者组时,我必须指定组名和消费者名。使用一些硬编码字符串作为组名并使用一些随机字符串作为消费者名称是个好主意吗?消费者只是 1 个进程,在这种情况下,它的名称在每次启动时都会不同。在极少数情况下,一次会有 2 个或更多消费者。

  2. 必须先通过 xgroup create 创建消费者组,然后我才能从中xreadgroup。每次一个新的消费者开始(使用随机名称)时,它都会被添加到消费者列表中,但即使在进程终止后它仍然存在。我的理解是,在这种情况下,我需要将来自死消费者的所有待处理消息重新分配给活动消费者,然后删​​除旧消费者。这是正确的吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)