事件驱动架构与云原生存储:原理、模式与应用
1. 事件驱动架构概述
事件驱动架构(Event-Driven Architecture)是在微服务架构基础上发展起来的一种架构模式,它为微服务或整个应用提供了不同的协作方式。这种架构通过事件编排(Event Choreography)来设计组件之间的协作,编排的组件可以是简单的微服务,也可以是复杂的模块化单体应用。
在事件编排中,组件之间无需中央计划即可协作,能够处理意外变化,并根据需求独立演进。与之相对的是服务编排器(Service Orchestrator),它遵循预定义的计划,通过与服务紧密耦合并同步或伪同步调用它们来按顺序协调执行每个步骤。
事件编排仅与主题耦合,异步传播变更通知,让简单的服务自行决定事件的重要性和处理方式。而服务编排则确保整体功能正确完整地执行。在实际应用中,无需局限于单一架构,可结合微服务架构和事件驱动架构,根据功能需求发挥各自优势。
2. 事件驱动架构的关键元素
- 事件通知与响应组件 :事件驱动架构将微服务和其他组件组织为事件通知器(Event Notifiers)和响应组件(Reactive Components)。事件通知器向与响应组件共享的主题发送事件,这些事件具有双方都理解的格式,便于新组件的添加和移除,且不影响现有组件。
- 事件源(Event Sourcing) :事件源记录响应组件的变更日志,解释其当前状态。通过查询日志可了解组件状态的演变过程,还能回放历史事件以重现组件的先前状态,或有选择地回放事件以创建新状态。若当前状态不佳,可通过模拟结
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



