`
yznxing
  • 浏览: 370005 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多

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,可以实时拦截客户端发送的事件消息,可以实现媒体播放过程中激活各种其他交互动作,真正实现交互互动媒体。

0
1
分享到:
评论

相关推荐

    Event-Driven Architecture Overview

    事件驱动架构(Event-Driven Architecture, EDA)是一种软件架构模式,它强调以事件为中心的设计,使得各个组件或服务通过异步通信来响应事件。事件可以是业务流程中发生的任何值得注意的事情,既可以是系统内部产生...

    【Java设计模式-源码】事件聚合器模式在Java中的应用:优化大型应用程序的事件管理

    Event-Driven Architecture(EDA)旨在围绕事件的产生、检测、消费和响应来协调行为。这种架构使事件生产者和消费者之间能够实现高度解耦、可扩展和动态的互连。 **二、别名** * Event-Driven System * Event-Based...

    event-driven:事件驱动架构会议

    在IT行业中,事件驱动架构(Event-Driven Architecture, EDA)是一种设计模式,它通过响应发生的事件来协调系统组件,而不是通过直接调用或轮询。这种架构风格非常适合大规模分布式系统,因为它允许组件间的松耦合,...

    【Java设计模式-源码】事件驱动架构模式

    事件驱动架构(Event-Driven Architecture,EDA)旨在围绕事件的产生、检测、消费和响应来协调行为。这种架构使事件生产者和消费者之间能够实现高度解耦、可扩展和动态的互连。 ## 二、别名 * 事件驱动系统 * 基于...

    Go-EDA-是一个用于实现事件驱动架构的库

    事件驱动架构(Event Driven Architecture)是一种软件设计模式,它基于消息传递机制,使得系统中的组件通过发布、订阅事件来进行通信,而非直接调用对方的方法。这种架构模式能够提高系统的灵活性、可扩展性和解耦...

    EDA 事件驱动架构

    事件驱动架构(Event-driven Architecture,简称EDA)是一种在软件开发中广泛采用的体系结构范式,它的核心思想是通过事件的发布和订阅来驱动软件组件之间或服务之间的交互与通信。EDA作为一个面向服务架构(Service...

    event-driven.io:https

    标题 "event-driven.io:https" 暗示了一个关于事件驱动架构(Event-Driven Architecture,EDA)的主题,可能是一个网站或者在线资源,专注于探讨如何在软件开发中利用事件驱动模式。事件驱动架构是一种设计模式,...

    事件驱动的应用架构和应用.pdf

    事件驱动架构(Event-Driven Architecture,简称EDA)是一种设计计算机软件系统的方法,它利用事件来触发应用程序之间的通信。这种架构的核心在于,各个组件不是通过直接调用来交互,而是通过发送和接收事件来进行...

    事件驱动框架 EDA

    事件驱动框架(Event-driven Architecture,简称EDA)是一种软件架构设计方法,它允许组件或服务在独立的、非耦合的环境中运行,它们之间通过事件触发消息传递。EDA的特点在于,事件发生时,相关信息会被发布到一个...

    事件驱动体系结构概述

    Michelson撰写的报告中,她深入探讨了事件驱动架构(Event-Driven Architecture,简称EDA)的概念及其与服务导向架构(Service-Oriented Architecture,简称SOA)之间的关系。Michelson是Patricia Seybold Group...

    云原生开发中的事件驱动架构技术教程

    事件驱动架构(Event-Driven Architecture, EDA)是一种分布式软件架构模式,其核心在于组件间的交互通过事件的产生、检测和响应来实现。在EDA中,各个组件并不直接调用对方提供的服务或功能,而是通过发布事件的...

    domain-event-master.rar

    在软件开发领域,领域驱动设计(Domain-Driven Design,简称DDD)和事件驱动模式(Event-Driven Architecture,简称EDA)是两种非常重要的设计思想和技术实践。本资料集"domain-event-master.rar"正是针对这两种模式...

    计算机-后端-SOA企业级解决方案及基于事件驱动架构的高性能SOA企业服务平台研究与实现.pdf

    本文旨在深入探讨SOA在企业级应用中的实现及其优势,并重点介绍一种基于事件驱动架构(Event-Driven Architecture,简称EDA)的高性能SOA企业服务平台的设计与实现。 #### SOA企业级解决方案 SOA的核心理念是将应用...

    Esper事件驱动架构

    事件驱动架构(Event Driven Architecture,EDA)一个事件驱动框架(EDA)定义了一个设计和实现一个应用系统的方法学,在这个系统里事件可传输于松散耦合的组件和服务之间。一个事件驱动系统典型地由事件消费者和...

    基于区块链的事件驱动架构设计.zip

    在IT行业中,事件驱动架构(Event-Driven Architecture, EDA)是一种常见的系统设计模式,它通过事件来协调各个组件之间的交互。当与区块链技术结合时,这种架构可以为分布式应用提供更为灵活、安全且透明的解决方案...

    “事件驱动”原理[定义].pdf

    在软件开发中,事件驱动架构(Event-Driven Architecture, EDA)通常包含以下几个关键组件: 1. 事件生产者(Event Producer):生成或触发事件的组件,它可以是用户界面中的按钮、服务器上的数据变更或是外部系统...

    事件驱动架构

    **事件驱动架构(Event-Driven Architecture,EDA)**是一种设计模式,在这种模式下,应用程序、系统和服务通过响应事件来进行通信和交互。事件驱动架构的核心是事件,即由系统组件生成的信息,这些信息表示了某个...

    架构师技能图谱在线学习程序源码.zip

    - Event-Driven Architecture(EDA):事件驱动架构,基于事件来触发应用间的通信。 7. **性能优化与监控**: - 负载均衡与缓存策略:如Nginx,提高系统响应速度和可用性。 - 日志收集与分析:如ELK(Elastic...

Global site tag (gtag.js) - Google Analytics