NestJS - Combine HTTP with RabbitMQ in microservices
我有一些微服务,通过API网关公开。网关负责处理身份验证和路由到系统中。网关后面的服务主要是简单的CRUD服务。每个服务都公开其自己的API,并且它们通过HTTP同步通信。所有这些服务,包括API-Gateway,都是"默认" NestJS应用程序。
让我们继续坚持猫的例子。每当
我不确定如何以正确的方式"注入" RabbitMQ来实现这一目标,我想知道这种方法是否合乎常理。我已经看到了NestJS的CQRS模块,但是我认为CQRS对于该域来说有点过多。尤其是因为在此域中没有好处,无法拆分读取和写入模型。也许我完全走错了道路,所以希望您能给我一些建议。
nestjs作为微服务支持RabbitMQ。 如果希望您的应用程序同时支持http请求和消息代理,则可以创建一个混合应用程序。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // Create your regular nest application. const app = await NestFactory.create(ApplicationModule); // Then combine it with a RabbitMQ microservice const microservice = app.connectMicroservice({ transport: Transport.RMQ, options: { urls: [`amqp://localhost:5672`], queue: 'my_queue', queueOptions: { durable: false }, }, }); await app.startAllMicroservicesAsync(); await app.listen(3001); |