写点什么

通过 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:592603
用户头像

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

关注

评论

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

海外网络加速方案:解决海外访问难题

Ogcloud

网络加速 海外网络加速 企业网络加速 网络加速服务

美联储降息在即:加密市场风云再起,机遇与挑战并存

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 公链开发

Java线程池详解

快乐非自愿限量之名

Java

通义灵码怎么样?分为哪些版本,看看基础能力多少分?

阿里云云效

阿里云 云原生 通义灵码

StarRocks Lakehouse 快速入门——Apache Iceberg

StarRocks

Apache 数据湖 iceberg

MacTalk 测评通义灵码,如何实现“微信表情”小功能?

阿里巴巴云原生

阿里云 云原生 通义灵码

台媒报道:华为云携手赞奇科技 推出《黑神话:悟空》专属云游戏服务

轶天下事

低代码提升开发能力的思路

伤感汤姆布利柏

奇绩创坛 2025 春季创业营开始报名

奇绩创坛

奇绩创坛 奇绩创坛创业营

电商数据抓取新技能:京东商品详情API返回值分析

技术冰糖葫芦

api 网关 API Explorer API 策略 pinduoduo API

答应我,在vue中不要滥用watch好吗?好的

不在线第一只蜗牛

前端 Vue 3

从CSM到A-CSM:不断提升的探索之路

ShineScrum

MacTalk 测评通义灵码,如何实现“微信表情”小功能?

阿里云云效

阿里云 云原生 通义灵码

基于 RocketMQ 的云原生 MQTT 消息引擎设计

阿里巴巴云原生

阿里云 RocketMQ 云原生

ping命令使用及其常用参数

天翼云开发者社区

ping

西游再现!一键部署 Flux 文生图大模型生成西游人物

阿里巴巴云原生

阿里云 云原生

跨越山海,台湾媒体点赞《黑神话:悟空》云游戏服务

轶天下事

以太坊基金会AMA总结:面对ETH价格疲软,团队的应对策略与展望

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

云行| 云端释放“黔”力,天翼云赋能贵州“智”变!

天翼云开发者社区

人工智能 云计算 大数据

DAPP合约NFT卡牌盲盒商城系统功能开发设计

V\TG【ch3nguang】

开箱即用,AISBench测试展示英特尔至强处理器的卓越推理性能

E科讯

IPv6的优势分析

天翼云开发者社区

ipv6

服务稳定性保障的五大误解

巴辉特

运维 SRE 服务稳定性建设 服务稳定性保障

​共筑国产数据库新生态!YashanDB与华瑞指数云ExponTech达成战略合作

Geek_2d6073

地信领域最高奖!YashanDB首获2024地理信息科技进步奖一等奖

Geek_2d6073

东郊到家平台系统模式开发功能部署设计未来展望

V\TG【ch3nguang】

第八届未来网络发展大会在宁召开,天翼云“息壤”助力算力互联互通一体化调度!

天翼云开发者社区

云计算 网络安全 网络发展大会

通义灵码怎么样?分为哪些版本,看看基础能力多少分?

阿里巴巴云原生

阿里云 云原生 通义灵码

NFC碰一碰刷卡、AI功能……2024年大学生都在关注手机哪些功能?

最新动态

大学生必备!华为手机校园智慧锦囊,一机在手,万事无忧

最新动态

蚂蚁数科发布智能数据开发与治理平台DataFab 加速数据要素价值释放

Lily

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