Rabbitmq NestJS微服务-使用facades代替ClientProxy进行服务通信
我开始学习NestJS+rabbitMQ,并了解微服务之间的下一种通信方式 在模块中注册:Rabbitmq NestJS微服务-使用facades代替ClientProxy进行服务通信,rabbitmq,microservices,nestjs,facade,Rabbitmq,Microservices,Nestjs,Facade,我开始学习NestJS+rabbitMQ,并了解微服务之间的下一种通信方式 在模块中注册: @Module({ imports: [ ClientsModule.register([ { name: 'MATH_SERVICE', transport: Transport.RMQ, options: { urls: ['amqp://localhost:5672'], queue: '
@Module({
imports: [
ClientsModule.register([
{
name: 'MATH_SERVICE',
transport: Transport.RMQ,
options: {
urls: ['amqp://localhost:5672'],
queue: 'cats_queue',
queueOptions: {
durable: false
},
},
},
]),
]
...
})
然后发送消息:
this.client.send<number>(pattern, payload);
在上面的代码中,usersFacade根据调用的方法,自行确定应该使用哪个队列和消息。
我想这是一个在用户服务中描述的服务,或者应该移动到一个单独的应用程序(smth.like common service),该应用程序专用于这些服务和其他应用程序中的其他可重用应用程序但在这种情况下,我应该如何从外部NestJS应用程序导入服务?
我会很高兴看到关于它的想法,甚至是与NestJs无关的类似微服务案例
// This is a route of gateway controller
@Get(':id')
getUserById(@Param('id') id: string): string {
return this.usersFacade.getById(id);
}