【发布时间】:2019-05-28 10:32:51
【问题描述】:
我有一些微服务,它们通过 API 网关公开。网关负责处理身份验证和路由到系统。网关背后的服务大多是简单的 CRUD-Services。每个服务都公开自己的 API,它们通过 HTTP 同步通信。所有这些服务,包括 API-Gateway,都是“默认”的 NestJS 应用程序。
让我们继续使用 Cats 示例。每当Cat-Service 更新或创建一个新的Cat 时,我想要一个CatCreatedEvent 或CatUpdatedEvent 被emmited。事件应该被推送到像 RabbitMQ 这样的消息代理中,另一个服务应该监听这个事件并异步处理这个事件。
就如何以正确的方式“注入”RabbitMQ 而言,我不确定如何实现这一点,我想知道这种方法在一般情况下是否有意义。我看过 NestJS 的 CQRS 模块,但我认为 CQRS 对于这个领域来说有点太多了。特别是因为在这个领域中拆分读写模型没有任何好处。也许我完全走错了路,所以我希望你能给我一些建议。
【问题讨论】:
标签: node.js events rabbitmq microservices nestjs