Redis Pub/Sub 中有确认的概念吗?例如,当使用 RabbitMQ 时,我可以让两个工作人员在不同的机器上运行,当我将消息发布到队列时,只有一个工作人员会确认/确认并处理消息。但是我发现使用 Redis Pub/Sub,两个工作人员都会处理消息。考虑这个简单的例子,我在两台不同的机器/客户端上运行了这个 go 例程:go func() { for { switch n := pubSubClient.Receive().(type) { case redis.Message: process(n.Data) case redis.Subscription: if n.Count == 0 { return } case error: log.Print(n) } }}()当我发布消息时:conn.Do("PUBLISH", "tasks", "task A")两个 go 例程都会接收它并运行 process 函数。有没有办法实现与 RabbitMQ 类似的行为?例如,第一个确认消息的工作人员将是唯一一个接收并处理它的工作人员。
- 3 回答
- 0 关注
- 160 浏览
添加回答
举报
0/150
提交
取消