EDA: Event-Driven Architecture事件驱动架构

2009-09-24 17:28
5
 异步编程      软件架构      EDA事件驱动     
 

SOA的核心是:暴露然后处理 expose and handle,SOA使事件Event跨系统流动

EDA是以事件为核心:什么时候触发 然后做什么。EDA是更加松散耦合,有极强的巨大事务处理能力

ESP—Event Stream Processing:监视事件数据流,分析这些事件。
CEP—Complex Event Processing:以更加动态方式监测。

Esper是一个ESP/CEP容器或框架,实际就是一个JAR包,能整入大部分系统。

Esper的特点就是:你可以对事件进行监测,比如你设定告诉Esper,发送的事件中某个参数不能低于某值,这样,当有各种事件通过Esper发送时,Esper就会帮助你监视,如果有低于某值的,就会自动激活相应的行为,这实际类似一个大的观察者模式。

事件和消息有一些区别和联系,事件和消息可以说是从不同方面描述的同一个东西,消息是事件发生后产物,消息发送必须有发送事件发生才能实现。每次事件只发送一次消息,事件和消息是一对一的,EDA架构和JMS/ESB消息架构有一些区别,JMS/ESB只是发送简单的消息,并不处理事件流,也就是消息流,JMS/ESB只要指定发送目的地,就直接将事件消息发送那个目的,类似一个树形结构中两个节点的关系,JMS/ESB的消息机制可以组成一个业务处理网,事件在这些业务子系统之间流动,但是不对流动的消息内容进行监测。

如果发送的事件消息中某个参数低于某值,那么只有等到目的地的校验时才会报错,而Esper象事件消息拦截器可以进行动态拦截并且激活相应行为。

Esper可以和wso2 mule等SOA消息中间件融合在一起应用,相同于多了一个消息总线的监视器,在消息总线流程之外,
可以动态增加新的业务流程。
http://www.slideshare.net/prabathsiriwardena/complex-event-processing-with-esper-and-wso2-esb

Flash作为应用广泛的富客户端RIA,有一个消息中间件Blazds,通过Blazds,可以将客户端事件和服务器端联系起来,可以由服务器端将消息事件推送到客户端,也可以由客户端发送事件给服务器端,完成一个跨服务器和客户端的事件驱动架构,更好地实现各种信息内容的推和拉机制。
CEP and RIAs: Bringing Together the Bold and the Beautiful

在这个模式中引入CEP/Esper,可以实时拦截客户端发送的事件消息,可以实现媒体播放过程中激活各种其他交互动作,真正实现交互互动媒体。

 
 
 
   
 异步编程(98)     软件架构(224)     EDA事件驱动(104)    
 
 

12306铁路售票系统核心开源中间件Geode介绍

Geode是一个提供实时且高一致性的 分布式 数据管理平台,典型案例是中国铁路12306售票系统使用Geode管理10个集群节点,在内存中管理2T的热点数据....

EDA: Event-Driven Architecture事件驱动架构的更多相关文章

  1. Event Driven Architecture

    在微服务中使用领域事件   稍微回想一下计算机硬件的工作原理我们便不难发现,整个计算机的工作过程其实就是一个对事件的处理过程.当你点击鼠标.敲击键盘或者插上U盘时,计算机便以中断的形式处理各种外部事件 ...

  2. 后端开发实践系列之三——事件驱动架构(EDA)编码实践

    在本系列的前两篇文章中,笔者分别讲到了后端项目的代码模板和DDD编码实践,在本文中,我将继续以编码实践的方式分享如何落地事件驱动架构. 单纯地讲事件驱动架构(Event Driven Architec ...

  3. 事件驱动架构 (Event-Driven Architecture,EDA) 简介

    EDA 是一种侧重于以生成/消费为基础的异步通信的架构模式.这主要对照于传统的基于线程的同步系统. EDA 是一种以事件 (event)为核心,提供事件产生,路由,消费已经结果回调等机制的架构模式. ...

  4. IDDD 实现领域驱动设计-CQRS(命令查询职责分离)和 EDA(事件驱动架构)

    上一篇:<IDDD 实现领域驱动设计-SOA.REST 和六边形架构> 阅读目录: CQRS-命令查询职责分离 EDA-事件驱动架构 Domin Event-领域事件 Long-Runni ...

  5. ENode 1.0 - 事件驱动架构(EDA)思想的在框架中如何体现

    开源地址:https://github.com/tangxuehua/enode 上一篇文章,我给大家分享了我的一个基于DDD以及EDA架构的框架enode,但是只是介绍了一个大概.接下来我准备用很多 ...

  6. CQRS(命令查询职责分离)和 EDA(事件驱动架构)

    转载CQRS(命令查询职责分离)和 EDA(事件驱动架构) 上一篇:<IDDD 实现领域驱动设计-SOA.REST 和六边形架构> 阅读目录: CQRS-命令查询职责分离 EDA-事件驱动 ...

  7. enode框架step by step之事件驱动架构(EDA)思想的在框架中如何体现

    enode框架step by step之事件驱动架构(EDA)思想的在框架中如何体现 上一篇文章,我给大家分享了我的一个基于DDD以及EDA架构的框架enode,但是只是介绍了一个大概.接下来我准备用 ...

  8. 中央事件总线 事件驱动架构(EDA) 解析事件总线的4种实现方式

    事件驱动架构(EDA)https://mp.weixin.qq.com/s/nA8XFD2Rx_7qA_LxltGGHw https://mp.weixin.qq.com/s/cD3auglgKzOb ...

  9. event driven model

    http://www.jdon.com/eda.html http://blog.csdn.net/gykimo/article/details/9182287 事件代表过去发生的事件,事件既是技术架 ...

随机推荐

  1. Bootstrap碎语

    这里记录下某段时间Bootstrap的零散碎片. 1.有关Bootstrap的参考网站: ● 官方:http://getbootstrap.com/● 主题:http://bootswatch.com ...

  2. 在Visual Studio中使用组件图描述项目组件依赖关系

    如果想描述项目组件的关系,可以考虑使用UML组建图. 在建模项目下添加一个名称为"Applicaiton Component Structure"的UML组建图. 添加各个组件,并 ...

  3. 解决ADB server didn't ACK问题

    ADB server didn't ACK | 浏览:7400 | 更新:2013-08-11 21:19 1 2 3 4 5 6 7 分步阅读 当我们通过eclipse开发Android应用时,会连 ...

  4. netty 自定义通讯协议

    Netty中,通讯的双方建立连接后,会把数据按照ByteBuf的方式进行传输,例如http协议中,就是通过HttpRequestDecoder对ByteBuf数据流进行处理,转换成http的对象.基于 ...

  5. java.io.IOException: Attempted read from closed stream解决

    在HttpClient请求的时候,返回结果解析时出现java.io.IOException: Attempted read from closed stream. 异常,解决 原因是EntityUti ...

  6. SharePoint 2016 安装 Cumulative Update for Service Bus 1.0 (KB2799752)报错

    前言 SharePoint 服务器场安装workflow manager 1.0的时候,报下面的错误,搜了很多博客都没有解决.然后,灵机一动,下载了一个英文版的累计更新包,安装成功了. SharePo ...

  7. [Web前端] 给li设置float浮动属性之后,无法撑开外层ul的问题。

    cp from : https://www.cnblogs.com/cielzhao/p/5781462.html 最近在项目中有好几次遇到这个问题,感觉是浮动引起的,虽然用<div style ...

  8. 使用Logstash创建ES映射模版并进行数据默认的动态映射规则

    本文配置为 ELK 即(Elasticsearch.Logstash.Kibana)5.5.1. Elasticsearch 能够自动检测字段的类型并进行映射,例如引号内的字段映射为 String,不 ...

  9. [转]Linux的SOCKET编程详解

    From : http://blog.csdn.net/hguisu/article/details/7445768 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统.由于每个进程都在 ...

  10. mac或者linux磁力下载方法:远离渣雷

    wget是linux下常用的命令行下载工具,是Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件. t-get是一个简单的命令行BT下载工具,可以用于BT种子和磁力链接的下载 tg ...