一种软件架构模式,使用业务事件来触发操作。是需要迅速应对变化的快速成长企业的理想选择。
事件驱动架构 (EDA) 描述了一种构建业务应用程序的方法,以使业务事件能触发系统内的操作。例如,一个事件可能是一个系统中送货地址的更改,然后自动逐级关联到所有利益相关的服务。
事件驱动架构非常适合期望快速增长以及在快速变化的市场中运营的企业。
它是什么?
事件驱动架构将您的业务系统建模为事件流——当发生重要的业务事件时,您的系统会收到关于这一状态变化的警报。简单举例来说,客户更改了他们的地址:一旦这一状态变化被登记,您的计费系统就会收到关于新地址的通知。这与基于请求的传统架构形成鲜明对比。
这种架构模式的一个主要好处是它既可扩展又相对来说容易更改。事件驱动架构固有的松散耦合性质意味着在不破坏其他任何部分的情况下,对系统的某一特定部分进行更改相对来说是比较容易的。
精心设计的事件驱动架构将基于对业务有意义的事件。事件可以由用户活动、外部输入(例如传感器活动)或分析系统的输出触发。重要的是您应当如何定义这些事件,从而能捕捉到对组织具有重要意义的东西。
通过基于这些触发事件来进行设计,您可以获得灵活性;您无需重新设计整个系统即可添加新的行为。
有何益处?
在一个充满不确定性的世界中,许多企业领导者都适应了对灵活性和可扩展性有所需求。在响应市场的速度和时间有着关键影响的地方,事件驱动架构展现出了许多优势。有了事件驱动架构,即可轻松添加新事件和流程。
您在应用事件驱动架构的道路上走得越远——在您的系统中引入它的范围越广,对您的业务进行更改就越容易。
从长远来看,事件驱动架构也是有好处的。由于事件不依赖于特定系统,因此更易于维护,这意味着您可以在不破坏任何其它部分的情况下更改某个特定部分。事件驱动架构能让您更快地做出响应:更快地利用机会或应对威胁。因此,它实际上同时影响了顶线和底线。
需考量的因素?
事件驱动架构可能是很复杂的。如果您的企业相对简单或不太可能发生重大变化,那么事件驱动架构可能没有意义。 如果您将事件驱动架构与单体应用(大型自含式系统,例如企业资源规划 (ERP))进行比较,则可能会出现更多问题,更难以理解。因此,如果您认为您的组织不需要扩展或不需要灵活性,则事件驱动架构可能并不适用。
仍然有一些组织(尽管比以往少一些)不想对技术进行投资,也不将技术视为企业的核心竞争力。对于这些类型的组织,事件驱动架构可能也不合适。
如何应用?
构建事件驱动架构的最简单方法可能是从一开始就以这种方式设计您的系统。当今许多举世闻名的数字原生平台都采用事件驱动设计。
但并非每个组织都有勇气和资本重新开始。在沿用至今的遗留基础设施之上构建事件驱动架构是完全有可能的。我们合作过的许多组织都是从某个单一的基于事件驱动架构的项目开始接触,然后以此为起点逐步扩大应用范围,因为他们意识到了更多的好处。
事件驱动架构可配合您的组织向智能化企业转型过程中所采取的各项行动。 事件驱动架构使得基于分析系统的输出实现自动化操作更为容易。由于您定义了哪些业务事件对您的企业具有重要性,因此事件驱动架构非常适合整合来自各种来源的实时信息,例如,如果您想部署一组物联网传感器。
相关文章
Would you like to suggest a topic to be decoded?
Just leave your email address and we'll be in touch the moment it's ready.