写点什么

关于复杂事件处理和事件驱动架构的争论

  • 2008-09-02
  • 本文字数:1779 字

    阅读完需:约 6 分钟

复杂事件处理(Complex Event Processing ,CEP)系统和事件驱动架构(Event Driven Architecture,EDA)都被认为会在目前和未来的精致繁杂的系统设计中扮演重要角色。但是它们的角色是什么?会对业界产生什么样的影响?最近 社区又开始了关于这些问题的争论。David Luckham 和 Roy Schulte 还编撰了一个用于 CEP 和 EDA 的术语概览和词汇表

抛开实现细节,Luckham 和 Schulte 对每个术语做了定义:

首先“事件”这个最普遍的术语,是有问题的。基本上它包含两个截然不同的含义:(1)一个发生的活动;(2)计算机系统里面代表某个活动的事物。按理说, 应该引入两个不同的术语,比如“事件(event)”和“事件对象(event object)”。但是,事实是在每个稍微长些的讨论中,你都会发现这样做太晦涩难懂了,它们【注:event 和 event object 这两个分开的术语】的区别要不就是被误用,要不就是被忘记甚至忽略了。举个例子,如果要使用两个术语,那么很有可能导致你在说“事件处理 (event processing)”时,其实意思是指“事件对象处理(event object process)”。所以说,最好的办法是复用“事件(event)”这个单词,通过每个词的上下文来理解它所要表达的意思。

Luckham 和 Shulte 将“复杂事件”定义成“一个对多个其它子事件的抽象的事件。”在提到穆迪投资者服务系统中的问题导致不正确的评级时, Joe Mckendrick 谈论到了复杂事件的话题。Mckendrick 说“也就是说,目前即使没有上亿美元,也有数百万美元的投资决定是由此类系统产生的错误数据造成的。”Mckendrick 的立场是,复杂的识别和感应系统也许仍然需要人类的参与,以阻止问题或者错误的发生。

Mckendrick 提到 K. Mani Chandy 博士,加州理工学院的一个正在做识别和感应研究的计算机科学教授,他曾经表示在基于复杂事件做决策时,要保证这个过程中有人的参与。Chandy 说在有些情况下,比如战术军事上的某个涉及到使用武器的操作,“它会一直有个对此事最终行为负责的人参与其中。”

Chandy 和 Micahel Olson 谈到为何 事件处理与‘识别和感应’应用(PDF)也许将在业务活动监测和业务仪表盘领域普遍存在。Chandy 和 Olson 对 Web 识别和感应应用有非常深入的研究,这些应用从 Web 数据源提取事件和数据:

Web 数据源可以是活跃的或者休眠的。客户端可以通过请求 - 应答协议轮询服务器,以获得信息。而信息也可以通过 RSS 或者 ATOM 流,或者其他的数据协议,推送给客户端。休眠的数据源也可以有个活跃的接口,方法是让代理定期轮询它,并在接下来的轮询中传输更改的信息。

但是 CEP 真的需要一个完全不同的架构类型吗?

Brenda Michelson 就事件处理写了一篇文章——事件驱动架构概览。他定义了 EDA 中的 5 类组件:

  • 事件元数据:事件元数据包括事件说明和事件处理规则;
  • 事件处理:事件处理的核心是引擎和事件发生数据;
  • 事件工具:事件开发工具用于定义事件说明和事件规则,以及管理订阅等。事件管理工具提供事件处理基础架构的管理和监测,事件流的监测以及显示事件生成和处理状态等;
  • 企业集成:一个企业集成中枢在事件驱动架构中扮演着重要的角色。需要集成的一些服务包括:事件预处理(过滤、路由和转变等)、事件通道传输、服务调用、业务流程调用、发布和订阅,以及企业信息访问等;
  • 源和目的:创建事件和 / 或执行一个事件驱动动作的企业资源(应用、服务、业务流程、数据存储、人员和自动代理等)。

Michelson 还谈到了 EDA 和 SOA 之间的关系:

我相信 SOA 和 EDA 是平等和互补的。所以,我不认同那些努力传播 SOA 的同学们所说的“EDA 只是 SOA 的一个子集”的论断。一个更广泛的事件驱动架构概念,不仅是超越事件驱动 SOA 的,还应该包括实时信息流和分析,以及复杂事件处理。

Ivar Jacobson 博士在 EDA 方面有自己独到的见解。Jacobson 提出的问题是:我们需要事件驱动架构吗?在回答他自己的问题时,Jacobson 说,“当 EDA 认为事件是系统中最重要的组成时,你最好注意那些组件或者服务,以及组件之间的‘通道’”。事件可以被生产、传递和消费,甚至在系统中被传播。这种类型系统的一个最大好处就是:

最有意思的组件是那些服务。你同时有了面向服务的架构(SOA),甚至更多。

不论哪一种情况,EDA 和 SOA 都不会彼此不相容或者排斥。它们都能被用来处理复杂事件处理系统,并为你的企业提供自动的或者有效的产出。

查看英文原文: Complex Event Processing and EDA?

2008-09-02 03:184796

评论 1 条评论

发布
用户头像
妙极
2021-08-17 10:12
回复
没有更多了
发现更多内容

快速上手SpringBoot

亮点

Java spring-boot 10月月更

算法基础(五)| 差分算法及模板详解

timerring

算法 10月月更 差分算法

leetcode 785. Is Graph Bipartite判断二分图 (中等)

okokabcd

LeetCode 数据结构与算法

多云管理平台支持哪些平台?哪款比较火?

行云管家

云计算 多云 云管理

浅析+在Node中实现JWT鉴权机制!

CoderBin

前端 Node JWT Express 10月月更

MASA MAUI Plugin IOS蓝牙低功耗(三)蓝牙扫描

MASA技术团队

MASA MAUI Xamarin MASA Blazor

启科量子国产量子编程软件项目将启动开源计划

启科量子开发者官方号

人工智能 量子计算 量子模拟 Python. C++

数据库-MySQL-基础(1)

Geek_a7ae15

MySQL 数据库

坐标中国|中国速度,挑战极限驱动发展“快车”

天翼云开发者社区

HummerRisk V0.4发布:新增云资源态势、资源拓扑、检测规则组、支持在 K8s 安装及大量功能优化

HummerCloud

云计算 云原生 态势感知 云安全 混合云

唐刘:透明一切,是我们在复杂环境下与客户建立信任的最佳途径

PingCAP

TiDB

新型蜜罐有哪些?未来方向如何?

郑州埃文科技

蜜罐 隔离攻击IP

给传统零售企业穿上“云武装”!

天翼云开发者社区

小程序技术能否成为移动应用市场新机遇?

Speedoooo

小程序 小程序容器 App生态

idea多模块启动

拾光师

IDEA 10月月更

从简历被拒到收割8个大厂offer,我只用了三个月

程序知音

Java 架构 java面试 后端技术 Java面试八股文

三翼鸟:智能的是产品,智慧的是生活

脑极体

【等保小知识】等保备案和等保测评有什么差别?

行云管家

等保 等级保护 等保测评 等保备案 等级测评

带你读AI论文丨ACGAN-动漫头像生成

华为云开发者联盟

神经网络 GAN AI论文 ACGAN-动漫头像 企业号十月 PK 榜

一文透彻理解微服务架构及相关组件

程序员小毕

Java 程序员 面试 微服务架构 程序人生

来看看这份对标80W+年薪的Java进阶路线图,职业规划路线该怎么走一目了然!

Geek_0c76c3

Java 程序员 架构 面试

菲尔兹奖得主小平邦彦:数学是什么?

图灵教育

数学

菲尔兹奖得主小平邦彦:数学是什么?

图灵社区

数学

浅析小程序插件

Speedoooo

小程序 插件 小程序容器

阿里 DBA 首次公开 MySQL 调优笔记,GitHub上已经开始疯狂涨星

Geek_0c76c3

Java 数据库 开源 程序员 面试

百度App性能优化工具篇 - Thor原理及实践

百度Geek说

Java App 企业号十月 PK 榜

玩转云端| 提升边缘应用交付效率,天翼云Serverless边缘容器有妙招

天翼云开发者社区

GitHub已置顶安排!Alibaba最终Guide版Java面试突击宝典+架构师系统进阶指南

Geek_0c76c3

Java 数据库 开源 程序员 开发

大闸蟹套路多?“码”上溯源让你安心吃蟹!

旺链科技

区块链 产业区块链 大闸蟹

关于复杂事件处理和事件驱动架构的争论_SOA_Steven Robbins_InfoQ精选文章