问题描述
我的目标是使用 Redisson 实现生产者/消费者模式。预期行为是有多个生产者向多个主题发送消息,多个消费者监听消息并处理它们,并且每条消息只应处理一次(仅由其中一个消费者处理)。
我尝试过 Pub/Sub,但它不符合要求,因为发布者总是广播每条消息。
我目前对这个问题的看法如下:
制作人:
client.getBlockingDeque("topic-name").addFirstAsync(messageObj)
消费者:
executorService.submit(() -> {
var queue = client.getBlockingQueue("topic-name");
try {
while (!Thread.currentThread().isInterrupted()) {
var obj = queue.take();
handle(obj);
}
} catch (InterruptedException ie) {
Thread.currentThread().interrupt();
}
})
与 Redisson 一起使用的最惯用的方法是什么?有很多实用程序(RedissonList
/RedissonQueue
/RedissonDeque
/RedissonStream
/etc),但我很难选择一个。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)