单个接收者的Redis发布/订阅

时间:2019-09-18 19:02:42

标签: python redis rabbitmq

我是RabbitMQ用户,正在探索Redis,并且对发布/订阅机制有两个疑问

  1. 我可以将消息发布到每个客户端(消费者)删除其他客户端条目的系统吗?我想发布100个任务,但每个任务只能由1个单一订阅者处理。

  2. AFAIK,默认情况下,所有消息始终向所有客户端广播/发布。如果一个客户端花一秒钟来处理该消息,而另一个客户端花一分钟来处理该怎么办?这里的限制是什么?某些时候会丢弃一些消息吗?

非常感谢!

1 个答案:

答案 0 :(得分:3)

1)那不是发布/订阅的工作方式。发布并不关心或不知道是否被接收,它只是发布一条消息。每个订阅的订阅者都会收到它,您无法停止

2)由您决定处理客户端逻辑。

从声音上看,redis pub / sub可能不是您要查找的系统/模式。您应该特别研究zeromqpushpull套接字,它们不会发布消息,而是一次将消息推送到特定的套接字。如果您通读starter documentation,将说明许多模式,某些模式将适合您的具体情况。