事件驱动架构拓扑与错误处理机制解析
1. 代理拓扑结构的优缺点
代理拓扑结构在性能、响应能力和可扩展性方面表现出色,但也存在一些缺点:
- 缺乏工作流控制 :对于与发起事件(如PlaceOrder事件)相关的整体工作流缺乏控制。工作流基于各种条件动态变化,系统中没有人确切知道下单业务交易何时真正完成。
- 错误处理困难 :由于没有中介监控或控制业务交易,若发生故障(如支付事件处理器崩溃),系统中无人知晓,业务流程会停滞,需要自动或手动干预才能继续。而且其他进程会无视错误继续运行,例如库存事件处理器仍会减少库存。
- 无法重启业务交易 :由于在初始处理发起事件时已异步执行了其他操作,无法重新提交发起事件。代理拓扑中的组件不了解原始业务请求的状态,也无人负责重启业务交易并知晓其中断位置。
代理拓扑结构的优缺点总结如下表:
| 优点 | 缺点 |
| ---- | ---- |
| 高度解耦的事件处理器 | 工作流控制缺失 |
| 高可扩展性 | 错误处理困难 |
| 高响应能力 | 可恢复性不足 |
| 高性能 | 重启能力缺失 |
| 高容错性 | 数据不一致 |
2. 中介拓扑结构
中介拓扑结构解决了代理拓扑结构的一些缺点,其核心是事件中介,用于管理和控制需要多个事件处理器协调的发起事件的工作流。主要组件包括发起事件、事件队列、事件中介、事件通道和事件处理器。
2.1 工作原理
- 发起事件启
超级会员免费看
订阅专栏 解锁全文

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



