OceaBase开发者大会落地上海!4月20日共同探索数据库前沿趋势!报名戳 了解详情
写点什么

亚马逊云科技开源 Event Ruler

  • 2022-09-24
    北京
  • 本文字数:1252 字

    阅读完需:约 4 分钟

亚马逊云科技开源Event Ruler

亚马逊云科技最近宣布开源Event Ruler,一个管理 EventBridge 路由规则的组件。对于需要几乎实时为任意数量事件匹配大量模式、策略或表达式的开发人员来说,这个项目是一个值得考虑的新选择。


Event Ruler 使用 Java 开发,提供了用于声明模式匹配规则、显示数据记录(事件)和大规模查找匹配每个事件规则的 API,帮助开发人员构建出以每秒几十万个事件的速度匹配任意数量规则与事件的应用程序。


事件和规则都是 JSON 对象,规则还可以通过内置的查询语言(可用于描述自定义匹配模式)来表示。例如,描述图像的 JSON 事件是这样的:

{  "Image" : {  "Width" :  800,  "Height" : 600,  "Title" :  "View from 15th Floor",  "Thumbnail" : {    "Url" :  "http://www.example.com/image/481989943",    "Height" : 125,    "Width" :  100  },  "Animated" : false,  "IDs" : [116, 943, 234, 38793]  }}
复制代码


这个 JSON 可以使用 JSON 规则(只过滤静态图像)进行过滤:

{  "Image": {    "Animated" : [ false ]  }}
复制代码


示例来源:https://aws.amazon.com/blogs/opensource/open-sourcing-event-ruler/


亚马逊云科技首席软件工程师 Rishi Baldawa 解释说:


这为需要为任意数量事件匹配大量模式、策略或表达式的人提供了一种新颖的解决方案,而且不影响速度。无论事件是个位数还是几十万个,你都可以对它们进行路由、过滤或与任何流量进行近乎实时的比较。这种速度主要与规则的数量或在这些规则中定义的模式无关。


Event Ruler 已在多个 Amazon 服务中生产就绪,包括EventBridge——一种无服务器事件总线服务,帮助开发人员和架构师将应用程序与来自各种来源的数据连接起来。新开源的项目包括了 AWS 托管服务尚未提供的特性。EventBridge 首席产品经理 Nick Smit 在推特上写道:


你会注意到它提供了一些特性,如 $or、后缀匹配和忽略大小写的 equals 比较,这些特性在EventBridge中都还没有。我们计划在未来将其包括在内。我们很高兴看到社区将带来的新想法!


Tim Bray 是亚马逊云科技的前副总裁和杰出工程师,也是 Event Ruler 背后的开发人员之一,他在一篇名为“Hello,Ruler”的文章中谈到了新项目的应用场景。


这个项目在亚马逊云科技内部被广泛使用。它在云基础设施之外是否也有用?我的答案是肯定的,因为越来越多的应用程序使用松散耦合的事件驱动互连。例如,我认为可能有很多 Kafka 应用程序可以通过应用这种高性能声明式过滤来提高消费者的效率。


宣布OpenSearch一年之后,亚马逊云科技又推出了新的开源项目和计划,这些项目和计划大多在亚马逊云科技的开源博客资讯中有介绍,很多人相信亚马逊云科技正在提高其开源声誉。Bray 补充说:


亚马逊云科技从开源中获益良多,所以很高兴看到他们也向开源社区回馈了一些东西,一些从零开始构建的东西,一些不是只对亚马逊云科技有利的东西。


Event Ruler采用了 Apache 2.0 许可,托管在 GitHub 上。


原文链接

AWS Open Sources Event Ruler


相关阅读:

AWS 数据库迁移服务:将 Oracle 数据库迁移到 MySQL

AWSGoat:对 AWS 云解决方案进行渗透测试

亚马逊云科技宣布 Lambda 分级定价

2022-09-24 08:005805

评论

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

iOS开发:苹果开发者账号第一次新建APP ID以及创建App的步骤

三掌柜

8月日更 8月

oeasy教您玩转vim - 15 - # 行内查找

o

什么是分布式超媒体信息获取系统?

escray

学习 极客时间 如何落地业务建模 8月日更

毕业总结

方堃

有状态算子和应用(七)

数据与智能

flink 算子 状态

Linux之ss命令

入门小站

Linux

Golang中的Remove和RemoveAll的对比分析

liuzhen007

8月日更

架构杂谈——也谈互联网系统架构演进

老农小江

Java 架构

【Flutter 专题】69 图解基本 Stepper 步进器

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

Vue进阶(二十八):浅析 Vue 中 computed 与 method 区别

No Silver Bullet

Vue 8月日更 computed

LeetCode题解:783. 二叉搜索树节点最小距离,递归,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

三分钟看完单例模式的八个例子

4ye

Java 后端 设计模式 单例模式 8月日更

如何评价《Java 并发编程艺术》这本书?

cxuan

书籍推荐 java 并发

MySQL专栏(三)-->事务控制那些事

卢卡多多

MySQL 8月日更

优秀的求职者,是如何巧妙应对面试提问呢?

xcbeyond

面试 求职 8月日更

在线HTTP/HTTPS协议GET,POST,RESTful接口测试

入门小站

Linux

Discourse 用户的邮件无法投递的时候如何处理

HoneyMoose

【设计模式】责任链模式

Andy阿辉

C# 后端 设计模式 8月日更

运营宠物类自媒体:明确受众和自己的定位

石头IT视角

从0开始的TypeScriptの六:webpack5热更新打包TS

空城机

JavaScript typescript 大前端 8月日更

【Vue2.x 源码学习】第三十四篇 - 组件部分-Vue组件与初始化流程简介

Brave

源码 vue2 8月日更

【前端 · 面试 】JavaScript 之你不一定会的基础题(一)

编程三昧

JavaScript html5 大前端 8月日更 事件冒泡

Redis入门到超神 - 03 redis.conf配置文件详解

陈皮的JavaLib

redis 运维 8月日更

TCP-三次握手和四次挥手简单理解

一个大红包

8月日更

手撸二叉树之二叉树的最近公共祖先

HelloWorld杰少

数据结构与算法 8月日更

IntelliJ IDEA 如何在 Java 中进行快速注释

HoneyMoose

算法分析

一个大红包

8月日更

netty系列之:文本聊天室

程序那些事

Java Netty nio 程序那些事

旗舰机怎么做隐私安全?荣耀Magic3有个答案

脑极体

另一个失败的小项目

箭上有毒

8月日更

毕业设计:设计电商秒杀系统

9527

#架构实战营

亚马逊云科技开源Event Ruler_服务革新_Renato Losio_InfoQ精选文章