基于事件的分布式系统架构解析
1. 事件驱动系统基础
事件是事件驱动系统的基本元素。一个事件是系统内部或外部发生的事情,对系统组件有重要意义并被其使用。事件可以根据类型进行分类,其特征包括发生时间、发生次数、来源(或生产者)以及事件规范中可能包含的其他元素。
事件可分为原始事件和复合事件:
- 原始事件是原子的,在某一时刻发生。
- 复合事件包含多个在一段时间间隔内发生且具有特定模式的原始事件,有启动事件(开始复合事件的原始事件)和终止事件(完成复合事件的原始事件)。复合事件的发生时间可以是终止事件的时间(基于点的语义),也可以表示为启动事件和终止事件的时间对。
事件流是按时间顺序排列的事件序列,通常是追加式的(事件不能从序列中移除)。事件流可以有时间间隔或其他概念维度(内容、空间、来源、确定性)的限制,也可以是无界的。事件流处理旨在处理多个流,识别有意义的事件并从中提取相关信息,通过检测复杂事件模式、事件关联和抽象、事件层次结构以及事件之间的关系(如因果关系、成员关系和时间关系)来实现。
事件流处理的主要应用包括金融服务中的算法交易、RFID 事件处理应用、欺诈检测、过程监控以及电信中的基于位置的服务。
2. 事件处理的要求与挑战
事件之间的时间和因果依赖关系必须由规范语言捕获,并由事件处理器处理。规范的表达能力应能处理不同类型和复杂度的应用,捕捉常见的使用模式。系统应允许完整的过程规范,而不对具体的事件处理架构施加任何限制假设,需要对建模过程进行一定的抽象。
事件处理应具有动态行为,以适应执行过程中感兴趣事件模式的变化。规范语言的可用性应与高效的运行时性能实现相结合,如近实
超级会员免费看
订阅专栏 解锁全文

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



