RabbitMQ微服务-并行处理

u4dcyp6a  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(177)

我正在微服务架构中使用rabbitmq作为消息传递系统。
微服务之间的调用是异步HTTP请求,并且在特定队列上预订每个服务,
我的问题是,呼叫是无状态的,如何保证消息通信的并行化,不是通过RabbitMQ队列中的路由密钥,而是通过HTTP呼叫本身,也就是说,对于n个呼叫,每个服务必须能够只监听所需的消息。
抱歉,我想进一步解释一下:
场景是我们在一个微服务架构中,由于巨大的数据响应,调用服务将在侦听器rabbitmq队列中接收应答。
因此,让我们假设同时进行了两个调用,并且两个查询都开始将数据加载到同一队列中,调用服务正在等待消息并添加接收到的消息,但无法区分调用者1和调用者2的数据。
侦听器是否有更好的实现

kknvjkwl

kknvjkwl1#

我不确定是否完全理解了这个问题,但根据描述,我可以提出以下建议:
如果每个服务都挂接到特定的侦听器,并且您不希望为Queue+Listener集成关联Routing-Key,那么您是否可以尝试使用头参数。[您可以使用QueueBuilder.withArguments API来设置队列应该侦听的特定头值]需要有一种机制,通过该机制,交换将绑定到特定的队列,从而绑定到Listener服务。
发布者-〉Exchange ---〉(带标题)绑定到队列-〉监听器

相关问题