基于事件的分布式系统推理与应用探索
1. 事件驱动系统概述
1.1 事件的本质
在基于事件的系统中,“事件”形式多样,但本质上都是对特定环境中观测结果的抽象。比如,数据库表中插入元组、传感器读取温度值等都可视为简单事件。
1.2 事件处理的起源
事件处理起源于20世纪80年代的主动数据库领域,当时触发器被引入数据库系统。触发器是一种事件 - 条件 - 动作(ECA)规则,每当发生与规则中事件部分匹配的事件时,数据库管理系统(DBMS)就会检查该规则。规则的条件部分充当过滤器,过滤掉不相关的事件,只有满足条件的事件才会触发动作部分的执行。
1.3 ECA规则的发展与应用
随着时间的推移,ECA规则逐渐成为一种独立的反应式计算范式,不再局限于数据库系统。它已被应用于多种中间件架构(如CORBA、J2EE和TIBCO)、流处理、基于Web的反应式应用、无线传感器网络和射频识别等领域。
2. 事件处理流行的原因
2.1 灵活性与异步通信
事件处理为需要监测环境并对重要事件做出反应的应用提供了很大的灵活性。事件系统主要依赖异步通信,与同步通信不同,进程在等待数据时无需停止工作。通常,事件源会将事件发生的数据“推送”给事件消费者。此外,开发者能够构建更松散耦合的系统,因为系统组件之间只需最少的相互了解,耦合程度从固定的点对点通信到代理网络不等。
2.2 从简单事件到复杂事件处理
最初,事件处理系统主要处理简单事件。但随着系统处理的事件量不断增加,用户更关注从大量简单事件中把握“大局”。复杂事件处理(CEP)应运
超级会员免费看
订阅专栏 解锁全文
1315

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



