我想创建如下图所示的设置:
这可以通过 Spring Integration 对 AMQP 的支持来完成吗? IE。图中的通信 channel 可以是AMQP吗?目标是:
- 图中的每个组件都可以是一个单独的服务器。
- 我可以扩大每个消费者群体的规模。
- 每个消费者组中只有一名工作人员处理该消息。
- 每个消费者组都会收到每条消息。
我查看了documentation ,但不确定 SI 提供的两个 AMQP 消息 channel 实现(点对点和发布/订阅)是否可以解决问题。特别是,点对点 channel 是否像常规直接 channel 一样工作,即支持多个端点,只有其中一个端点接收每条消息?
非常感谢!
最佳答案
将 pub-sub channel 替换为发布到 fanout
交换的出站 channel 适配器。
将2个队列绑定(bind)到扇出交换器;每个人都会得到一份消息的副本。
为每个消费者使用入站 channel 适配器,每个消费者监听适当的队列;两组消费者将争夺他们的消息。
关于spring-integration - 使用 Spring Integration 和 AMQP,我可以创建竞争消费者的 Pub-Sub 组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27552565/