CEP 概念
作者:互联网
5.5.1 CEP是什么
CEP是流式处理的核心技术。
不管是单独的应用系统,还是数据仓库,都是先将数据存储到数据库/数据仓库,然后再处理或查询。而CEP与常见的Message Queue系统类似,都将数据看作数据流,在连续数据的快速移动过程中进行分析处理。这样的方式不需要很大的数据加载,完全可以在内存中进行,从而能够快速产生结果,如图5.29所示。
业务事件可能很复杂,在各种不同的数据流中源源不断地产生各种类型的事件。不仅需要对这些业务事件进行复杂的计算,如过滤、关联、聚合等,同时还需要考虑这些业务事件出现的时间序列,最终才能产生有意义的事件,或触发业务流程。注意,这些计算的规则可能还会经常变化。
这类问题通常通过基于规则的推理机(规则引擎)来实现,如图5.30所示。
图5.29
图5.30
5.5.2 CEP的架构
CEP的架构如图5.31所示。
图5.31
CEP在逻辑上应该包括:
-
事件发生器通过应用系统、文件系统、数据库、互联网、人工及传感器产生事件。
-
事件处理器模式的匹配、验证和改进、路由、转换及编排。
- 事件消费者与事件发生器类似,也可以是应用系统、文件系统、数据库、互联网、人工界面等。
CEP将数据看作一种数据流,基于规则引擎对业务过程中持续产生的各种事件进行复杂的处理,能够实现对连续数据的快速分析处理。CEP可以应用在多种业务场景,如风险分析、程序化交易等。如果说BI实现了商业智能,那么CEP则实现了“持续智能(Continuous Intelligence)”。
5.5.3 Esper
Esper是一个开源的CEP实现。Esper是纯Java开源复杂事件和事件流引擎,可以监测事件流,并在特定事件发生时触发某些动作。Esper引擎是为了满足事件进行分析并做出反应等应用需求而产生的。这些应用需求实时或者接近实时地处理事件(或消息)。这类应用具有高吞吐量、低响应时延和复杂的计算等特点。
Esper引擎的典型应用有:
-
业务处理管理和自动化(处理监控、业务活动监控、异常报告、经营智能化等)。
-
财务(算法交易、欺诈检查、风险管理)。
-
网络及应用程序监控[***检测、SLA(Service Level Agreement)监控]。
-
传感器网络应用(RFID读取、生产线调度和控制、空中交通)。
- Esper支持类SQL语句EPL(Event Process Language)。
本文选自《大数据架构详解:从数据获取到深度学习》5.5.1/5.5.2节。
标签:5.5,Esper,概念,引擎,事件,应用,CEP 来源: https://blog.51cto.com/15127539/2662472