gpt4 book ai didi

rabbitmq - 有没有办法将 nestjs cqrs 与 rabbitmq 事件总线/队列一起使用。从命令中分派(dispatch)微服务处理的事件是否反模式?

转载 作者:行者123 更新时间:2023-12-04 17:25:34 24 4
gpt4 key购买 nike

我正在阅读 nestjs 文档,似乎没有办法使用其他内置于 eventbus 的东西。现在假设我的 cqrs 事件想要使用 rabbitmq 与微服务进行通信。所以 2 个问题:

  1. 是否可以分派(dispatch)将队列发送到外部事件总线的事件?
  2. 从 ddd 的角度来看还好吗?那我应该寄到哪里呢?从域层调度?然后感兴趣的各方(微服务)可以收听和写入他们自己的数据库部分或其他任何内容。如果你能在人类层面上解释一下,我是 cqrs 的 ddd 新手。抱歉,如果这是一个常见问题,但它也与 nestjs 有关,所以我需要一些说明。

谢谢😊

最佳答案

应该使用集成事件来通知外部服务。一个好的做法是使外部事件总线(集成总线)独立于任何微服务。关于这两个问题:

  1. 应该可以使用 nestjs 将事件发送到外部总线。例如:编写一个域事件处理程序来创建一个集成事件并分派(dispatch)它。您可以创建一个新的 IntegrationBus 接口(interface)并以任何适合的技术实现它。
  2. 从 DDD 的角度来看绝对没问题。上下文映射(不同上下文如何共享数据)是 DDD 战略模式的一部分。通常集成事件在应用层发布,在某些情况下,在基础设施层发布会更方便。

以下几篇文章提供了有关域和集成事件的更多详细信息:

https://learn.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/domain-events-design-implementation

https://devblogs.microsoft.com/cesardelatorre/domain-events-vs-integration-events-in-domain-driven-design-and-microservices-architectures/

关于rabbitmq - 有没有办法将 nestjs cqrs 与 rabbitmq 事件总线/队列一起使用。从命令中分派(dispatch)微服务处理的事件是否反模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63752307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com