我们应该在多个有界上下文中使用多少个事件存储?

inf3rno

我目前正在阅读有关DDD的信息,但未能找到该问题的答案。如果我们有一个带有多个有界上下文的大型应用程序,那么据我所知,我们应该实现每个BC,因为它是一个单独的应用程序。因此,得出每个BC都有自己的UI和事件存储的结论是合乎逻辑的。我以前认为我们只有一个事件存储,因为根据某些文章(关于CQRS),它是事实的唯一来源。这些语句唯一的问题是它们缺乏上下文。那么,事件存储是在单个有限上下文中还是在整个应用程序中唯一的真理来源?

达里斯
  "Is an ES the single source of truth in a bounded context or in entire application?" 

我猜你的意思是系统,因为绑定上下文是最简单的解释中的应用程序。

 "If we have a large application with multiple bounded contexts"

同一模型内不能有多个有界上下文。有界上下文限制模型。所以,你应该改变长期bounded contextsubdomain,这将是正确的。

无论如何回答你的问题。这取决于。

整个系统的单一事件存储

优点

  • 一处管理
  • 通过CorrelationID可以轻松查看相关事件
  • 在某些软件中,无需进行服务发现。所有服务(应用程序)都可以通过单个ES集成(我说的是真正的ES,而不是数据存储。)
  • 所需的CPU /内存更少

缺点

  • 单点故障(当然可以扩展它,以避免这种情况)
  • 您正在将服务耦合在一起(违反了微服务的规则)
  • 在系统生命周期内不得更改ES

每个应用程序一个事件存储

优点

  • 没有单点故障
  • 与应用程序一起部署
  • 服务之间没有耦合。更大的自主权
  • 如果应用程序将被禁用,则ES可以与其一起使用
  • 新服务可以与新版本甚至不同的ES一起使用

缺点

  • 需要注意和监视的其他数据库
  • 消耗了更多的CPU / RAM
  • 很难管理correlationID,因为它们在多个ES之间分配
  • 需要一些服务发现。订阅多个ES或需要额外的消息队列

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Linux

我们应该在子进程中使用退出还是返回

来自分类Java

为什么我们不应该在Java中使用受保护的静态

来自分类Javascript

我们应该在AngularJS中使用jQuery吗?

来自分类Java

为什么我们应该在线程中使用Join?

来自分类Java

我应该在单例中使用哪个android上下文?

来自分类Dev

我们应该在C语言中使用exit()吗?

来自分类Dev

我们应该在OkHttp中使用Google的安全提供程序吗?

来自分类Dev

有界上下文的大小

来自分类Dev

我们应该在观察者模式中使用WeakReference吗?

来自分类Dev

我们应该在HTTP / 2中复用多少个并发请求

来自分类Dev

EntityFrameworkCore相当dbcontext或应该在.Net Core中分隔DbContext像有界上下文一样以获取性能

来自分类Dev

我们什么时候应该在事件监听器中使用匿名函数?

来自分类Dev

我应该在Laravel Horizon中使用多少个进程?

来自分类Dev

我应该在AWS上有多少个死信队列

来自分类Dev

DDD:多少个聚合应具有一个有界上下文?

来自分类Dev

隐式转换是否应该在模板参数的上下文中起作用?

来自分类Dev

我们应该在Android中使用getPath还是getAbsolutePath

来自分类Dev

我应该在电子应用程序中使用上下文隔离吗

来自分类Dev

我们应该在Chrome中“ dns-prefetch preconnect”来限制多少个域?

来自分类Dev

两个基于事件的有界上下文,如何加载初始数据?

来自分类Dev

我们什么时候应该在 CodeIgniter 中使用核心?

来自分类Dev

我应该在服务中使用哪个上下文?

来自分类Dev

我们可以在不同的任务中同时使用多少个“上下文”?

来自分类Dev

我们应该在 sql server 的更新查询中使用 alise 名称吗?

来自分类Dev

我应该在我扩展的 ArrayAdapter 中使用哪个上下文

来自分类Dev

DDD - 验证实体在其他有界上下文中的存在

来自分类Dev

每个事务一个聚合,具有“一个”或“多个”有界上下文

来自分类Dev

有界上下文中的一组相关聚合

来自分类Dev

我们应该在 React Native 中使用类变量吗?

Related 相关文章

  1. 1

    我们应该在子进程中使用退出还是返回

  2. 2

    为什么我们不应该在Java中使用受保护的静态

  3. 3

    我们应该在AngularJS中使用jQuery吗?

  4. 4

    为什么我们应该在线程中使用Join?

  5. 5

    我应该在单例中使用哪个android上下文?

  6. 6

    我们应该在C语言中使用exit()吗?

  7. 7

    我们应该在OkHttp中使用Google的安全提供程序吗?

  8. 8

    有界上下文的大小

  9. 9

    我们应该在观察者模式中使用WeakReference吗?

  10. 10

    我们应该在HTTP / 2中复用多少个并发请求

  11. 11

    EntityFrameworkCore相当dbcontext或应该在.Net Core中分隔DbContext像有界上下文一样以获取性能

  12. 12

    我们什么时候应该在事件监听器中使用匿名函数?

  13. 13

    我应该在Laravel Horizon中使用多少个进程?

  14. 14

    我应该在AWS上有多少个死信队列

  15. 15

    DDD:多少个聚合应具有一个有界上下文?

  16. 16

    隐式转换是否应该在模板参数的上下文中起作用?

  17. 17

    我们应该在Android中使用getPath还是getAbsolutePath

  18. 18

    我应该在电子应用程序中使用上下文隔离吗

  19. 19

    我们应该在Chrome中“ dns-prefetch preconnect”来限制多少个域?

  20. 20

    两个基于事件的有界上下文,如何加载初始数据?

  21. 21

    我们什么时候应该在 CodeIgniter 中使用核心?

  22. 22

    我应该在服务中使用哪个上下文?

  23. 23

    我们可以在不同的任务中同时使用多少个“上下文”?

  24. 24

    我们应该在 sql server 的更新查询中使用 alise 名称吗?

  25. 25

    我应该在我扩展的 ArrayAdapter 中使用哪个上下文

  26. 26

    DDD - 验证实体在其他有界上下文中的存在

  27. 27

    每个事务一个聚合,具有“一个”或“多个”有界上下文

  28. 28

    有界上下文中的一组相关聚合

  29. 29

    我们应该在 React Native 中使用类变量吗?

热门标签

归档