Sar*_*aro 2 javascript rabbitmq node.js microservices nestjs
我正在查看 Nestjs 文档来设置一个监听 RabbitMQ 消息的微服务。当我必须听一个队列时,这是非常直接的。如果我的微服务必须监听多个队列怎么办?我正在使用在 main.ts 文件中完成的以下方法。
await app.connectMicroservice({
transport: Transport.RMQ,
options: {
urls: ['amqp://localhost:5672'],
queue: 'q-1',
queueOptions: {
durable: false
},
},
});
Run Code Online (Sandbox Code Playgroud)
现在我有多个队列,我可以调用另一个 connectMicroservice 函数来这样做。但是,在我的控制器中使用消息时,无法告诉我的控制器要侦听哪个队列(q-1 或 q-2)。我所知道的是,有一个@MessagePattern 装饰器可以提及在该函数中使用什么模式,但不确定如何提及队列名称。请帮忙。
当涉及到这些类型的场景时,RabbitMQ 的内置 NestJS 微服务实现有点受限。
在@ golevelup / nestjs-RabbitMQ的 包是专门建造的功能来解决这些缺陷。它为您提供了更好的集成,使您可以在单个 NestJS 应用程序或微服务中直观地与多个 RabbitMQ 交换和队列进行交互。它还旨在为不同的消息传递模式(如发布/订阅和 RPC)提供更好的支持。
免责声明:我是这个包的作者
| 归档时间: |
|
| 查看次数: |
3411 次 |
| 最近记录: |