写点什么

通过 Esper 探索事件驱动架构

  • 2007-05-31
  • 本文字数:958 字

    阅读完需:约 3 分钟

在 Java One 上 Thomas Bernhardt 和 Alexandre Vasseur 向我们解说了事件驱动应用服务器(Event Driven Application Server)的概念,并介绍了 Esper 项目

事件驱动应用服务器是一种新型的服务器,为每秒需要处理超过 100,000 个事件的服务器提供一个运行时和多种支撑基础设施服务(如传输、安全、事件日志、高可靠性和连接器等)。除了事件处理以外,事件驱动服务器还可以将事件信息和长时间存在的数据(通常从关系数据库查询中获取)结合起来,以及在事件流上执行临时的关联关系和匹配操作。

事件系统(Event System)存在两个概念,可使之与消息传送系统(Messaging System)区分开来:

  • 事件流处理(Event Stream Processing,ESP)——检测事件数据流,分析出那些符合条件的事件,然后通知监听器
  • 复杂事件处理(Complex Event Processing,CEP)——可以监察各事件间的模式

全功能的事件驱动服务器尚需数年时间方可实现,但现在开发者就可通过来自 Codehaus 的 Esper,在独立应用、Java 企业级应用和 Spring 应用中实现事件驱动架构。Esper 的 1.0 版本( InfoQ 曾报道过)是在 2006 年 6 月发布的,它是一个轻量级、可嵌入的 ESP 和 CEP 的开源实现。

把 Esper 集成到独立应用中其实很简单。步骤如下:

  • 获取一个 Esper 引擎实例
  • 生成一个 Statement(用 Esper 的查询语言)
  • 使用引擎注册这个 Statement
  • 生成一个 Listener(通过实现一个 Java 接口,该接口在 Statement 所得值为 true 会被触发),并把它跟 Statement 绑定起来

事件能以 Java 对象、XML 或 Map 的形式展现,当它们通过系统的时候,系统会评估 Statement 的值,并执行 Listener 中的逻辑。

Esper 查询语言提供了丰富的语法,这些语法可以表达复杂的临时逻辑,此外还有如下的一些特征:

  • 事件过滤
  • 滑动窗口和聚集(计算在最近 30 秒内所有报告的有意义的信息)
  • 分组窗口和对输出率的限制(获取最近 10 分钟内每个区域的信息数量)
  • 连接和外连接(允许事件流之间的连接)
  • 与历史数据或引用数据集成(访问关系型数据库)
  • 生成所有 Statement 都可以访问的虚拟流

虽然事件驱动应用服务器的面世尚需时日,Esper 目前已经可以投入产品级应用了。你很简单就可以把 Esper 集成到你的应用中,将帮助你先人一着提供符合业务和客户在实时性方面需求的功能。

查看英文原文: Exploring Event Driven Architectures with Esper

2007-05-31 23:593021
用户头像

发布了 27 篇内容, 共 11.0 次阅读, 收获喜欢 15 次。

关注

评论

发布
暂无评论
发现更多内容

RPA的基本概念:全面解析RPA技术的工作原理和应用场景

八爪鱼采集器︱RPA机器人

RPA 自动化 RPAxAI

RPA原理:简单了解RPA发展及相关知识

八爪鱼采集器︱RPA机器人

RPA 自动化 RPAxAI

2024 年的 Web3 游戏:演变、趋势和市场动态

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

Prometheus 告警恢复时,怎么获取恢复时的值?

巴辉特

Prometheus Nightingale Alertmanager FlashDuty

观测云「可观测性解决方案」亮相 828 B2B 企业节

观测云

监控

企业级低代码解决方案:JNPF平台深度解析

不在线第一只蜗牛

低代码 数字化转型 企业转型

谷歌发布 3 款 Gemini 新模型;字节开源 FLUX Dev Hyper SD Lora,8 步生图丨 RTE 开发者日报

RTE开发者社区

Flink优化之--旁路缓存和异步IO

数新网络官方账号

flink

一文带你了解可观测领域中APM与eBPF的技术差异

乘云数字DataBuff

APM #ebpf

MES系统如何帮助企业提高生产效率

万界星空科技

制造业 mes 万界星空科技mes 生产管理MES系统

观测云广告全国登陆,携手华为云引领企业迈向数智化新纪元

观测云

观测云

Docker通信全视角:原理、实践与技术洞察

不在线第一只蜗牛

Docker 容器 运维

新手从零精通云游戏!实测ToDesk云电脑、易腾云、顺网云,云端畅玩黑神话、魔兽世界

小喵子

云计算 云电脑 云游戏 云电竞

望繁信科技亮相2024数博会:以流程智能引领数字化转型新未来

望繁信科技

数字化转型 流程挖掘 流程智能 数字北极星 望繁信科技

如何将文本转换为向量?(方法四)

DashVector

人工智能 向量检索 大模型 向量数据库

通过DashScope API调用将多种模态转换为向量

DashVector

人工智能 大模型 向量数据库

RPA技术实操指南:企业降本增效全攻略

八爪鱼采集器︱RPA机器人

RPA 自动化 RPAxAI

Kafka 到数据仓库:使用 bend-ingest-kafka 将消息加载到 Databend

Databend

SQL 进阶与 MySQL 进阶管理指南

测吧(北京)科技有限公司

测试

性能最快的内存数据存储:基础使用指南

测吧(北京)科技有限公司

测试

AI 网关零代码解决 AI 幻觉问题

阿里巴巴云原生

阿里云 云原生

Bonree ONE 3.0发布会下一站 9月6日广州见!

博睿数据

易观分析:2024年第2季度中国图书电商市场交易规模达266.2亿元 市场收缩引发行业隐忧

易观分析

RPA和BPM:优势与特点详解

八爪鱼采集器︱RPA机器人

RPA 自动化 RPAxAI

通过Esper探索事件驱动架构_Java_Ian Roughley_InfoQ精选文章