【发布时间】:2022-01-18 08:01:41
【问题描述】:
我正在研究基于事件的架构模式,在当前项目的上下文中,我想知道是否可以在支持上下文分离的单片应用程序中使用事件总线以提供更好的隔离,还是多余的?
谢谢!
【问题讨论】:
标签: architecture domain-driven-design event-driven-design
我正在研究基于事件的架构模式,在当前项目的上下文中,我想知道是否可以在支持上下文分离的单片应用程序中使用事件总线以提供更好的隔离,还是多余的?
谢谢!
【问题讨论】:
标签: architecture domain-driven-design event-driven-design
为此,我假设您的意思是事件驱动的消息传递,而不是事件溯源。例如,客户子系统将引发客户创建的事件,营销子系统可以使用该事件。
对我来说似乎很好,但这取决于您的应用程序是否需要事件授予的属性。在我看来,是否使用事件的决定与你是在做单体还是微服务是分开的。
事件驱动系统的主要优点是系统的独立部分可以自行决定是否要对特定事件做出反应。虽然这增加了复杂性,因为现在没有一个过程的定义,但任何东西都可以监听任何事件(理论上)并根据需要做出反应。
所以我想说这更多取决于您希望如何对问题域进行建模。
如果您使用单独的消息代理或队列系统,除了添加消息持久性等功能外,如果您决定将部分单体应用程序提取到其他进程中,它可能会很有用。
【讨论】: