【问题标题】:what is the difference between event driven and domain driven design Microservices?事件驱动和领域驱动设计微服务有什么区别?
【发布时间】:2020-04-27 18:17:47
【问题描述】:

什么是事件驱动设计和领域驱动设计?
在微服务中使用领域驱动设计、事件驱动设计的具体好处是什么。

【问题讨论】:

  • 到目前为止你的发现是什么?您发现哪些模式可用于领域驱动设计?你认为什么时候应该使用事件驱动设计与领域驱动设计?您认为微服务有哪些好处?
  • DDD 为每个子域定义了一个单独的域模型。子域是域的一部分。微服务架构 - 将应用程序构建为松散耦合服务的集合。微服务架构支持快速、频繁和可靠地交付大型、复杂的应用程序。它还使组织能够发展其技术堆栈。
  • 我们可以在一个应用程序中同时使用它们吗?
  • 根据您上面的评论,您可以在一个应用程序中同时使用这两种方法吗? DDD 定义了一种用于构建业务逻辑的方法。微服务定义了用于构建应用程序的架构。它们可以共存吗?
  • @CPerson 我的答案是肯定的,它们可以共存。感谢您的详细解释。

标签: spring spring-boot microservices cqrs event-sourcing


【解决方案1】:

Event sourcing 作为状态持久化的实现策略,例如的聚合体。这种策略不应该暴露在聚合的边界之外。因此,来自事件溯源的事件只能在相应的聚合内部或在 CQRS 的上下文中用于构建相关的读取模型。

另一方面,Domain events 表示与聚合的持久性策略类型无关的特定事实或事件,例如,用于集成有界上下文。

当然可以同时使用事件溯源和域事件,但不应相互影响。这两个概念用于不同的目的,因此不应混用。

请阅读以下链接以了解更多信息:check here

【讨论】:

  • 事件溯源是关于一个(或几个)应用程序设计,而事件驱动架构是关于所有应用程序环境(它是 SOA 的演变)
  • @Mayank Tripathi,您能否在答案中至少添加一个摘要,以防将来链接中断? (正如meta.stackexchange.com/a/8259 中提到的,“链接很棒,但它们绝不应该是您答案中的唯一信息。”)
  • @Mabyn 我阅读了参考文章,虽然这提供了很多信息,但这不是回答问题的正确方法。这应该要么发表评论,要么请考虑根据您的感知写一个答案。
  • @Arefe +1 这正是我所说的。我想你是想@作者 ;-)
  • @Mabyn 如今越来越多的人在使用事件驱动架构,所以,这个问题很重要而且很明确。虽然我对这些不是很了解,但我标记了它,稍后会写一个答案。
猜你喜欢
  • 2022-01-25
  • 2022-11-02
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多