事件驱动架构中的Event Backbone与Event Sourcing解析
1. 事件编排与Event Backbone的引入
在复杂的系统架构中,我们常常使用事件编排(Event Choreography)来协调多个组件。当一个组件发生变化时,对该变化感兴趣的其他组件能够做出相应反应,且不会通过API进行紧密耦合。这些变化以事件(Events)的形式呈现,由事件通知器(Event Notifiers)发出,由响应式组件(Reactive Components)进行响应。
那么,响应式组件如何在不直接与生成事件的事件通知器耦合的情况下接收它们感兴趣的事件呢?这就引出了Event Backbone的概念。
事件编排有两个主要优点:
- API分离 :这一特性自Smalltalk中最早实现观察者模式(Observer Pattern)以来,就是所有事件系统的一个特点。它与通过服务API进行组件交互的方式不同,变化是以数据的形式通过单一的通用API进行通信,而不是通过单独的调用或REST端点。
- 时间和空间分离 :事件系统应异步工作,生成事件的进程或线程无需等待所有接收者接收事件;同时,事件系统应能在网络上工作,使得接收事件的进程或线程可以成为分布式架构的一部分。
然而,传统的解决方案存在一些问题。例如,在观察者模式的实现中,事件提供者(Subject)必须了解每个事件接收者(Observers)才能将事件传递给它们。而且,我们不希望将事件的生产者或消费者限制在特定的物理位置来发送或接收事件,因为将事件基础设施的位置编码到消费者的代码中会限制其扩展能力和应对故障的能
超级会员免费看
订阅专栏 解锁全文
1188

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



