我是RabbitMQ
用户,正在探索Redis
,并且对发布/订阅机制有两个疑问
我可以将消息发布到每个客户端(消费者)删除其他客户端条目的系统吗?我想发布100个任务,但每个任务只能由1个单一订阅者处理。
AFAIK,默认情况下,所有消息始终向所有客户端广播/发布。如果一个客户端花一秒钟来处理该消息,而另一个客户端花一分钟来处理该怎么办?这里的限制是什么?某些时候会丢弃一些消息吗?
非常感谢!
答案 0 :(得分:3)
1)那不是发布/订阅的工作方式。发布并不关心或不知道是否被接收,它只是发布一条消息。每个订阅的订阅者都会收到它,您无法停止
2)由您决定处理客户端逻辑。
从声音上看,redis pub / sub可能不是您要查找的系统/模式。您应该特别研究zeromq
和push
和pull
套接字,它们不会发布消息,而是一次将消息推送到特定的套接字。如果您通读starter documentation,将说明许多模式,某些模式将适合您的具体情况。