redis为pubsub提供了非常好的实现,在pubsub中,发布在一个通道上的消息将由注册主题的多个接收器接收。
实现点到点(即队列)语义的理想方法是什么?例如,多个接收者在一个队列中注册,消息一推送到队列,就只有一个接收者(侦听者)处理它?任何java参考示例都会有所帮助。
这里的想法是读取包含事务记录的巨大文件,因此每个事务只应处理一次。
我可以看到redis streams的建议,但我没有看到一个健全的java参考实现
redis为pubsub提供了非常好的实现,在pubsub中,发布在一个通道上的消息将由注册主题的多个接收器接收。
实现点到点(即队列)语义的理想方法是什么?例如,多个接收者在一个队列中注册,消息一推送到队列,就只有一个接收者(侦听者)处理它?任何java参考示例都会有所帮助。
这里的想法是读取包含事务记录的巨大文件,因此每个事务只应处理一次。
我可以看到redis streams的建议,但我没有看到一个健全的java参考实现
2条答案
按热度按时间u2nhd7ah1#
只是使用
LPUSH msgqueue
要将项目放入列表并让所有客户端执行以下操作:a7qyws3x2#
请注意,没有像pubsub主题那样的直接实现。在这里使用queue的另一个原因是publish subscribve中也没有持久订阅,即当订阅者未启动时,发送的消息将丢失。但下面的队列实现将节省一点。
最终答案
lpush test\u queue测试消息llen test\u queue brpop test\u queue 0
java实现