亚马逊云科技最近宣布开源Event Ruler,一个管理 EventBridge 路由规则的组件。对于需要几乎实时为任意数量事件匹配大量模式、策略或表达式的开发人员来说,这个项目是一个值得考虑的新选择。
Event Ruler 使用 Java 开发,提供了用于声明模式匹配规则、显示数据记录(事件)和大规模查找匹配每个事件规则的 API,帮助开发人员构建出以每秒几十万个事件的速度匹配任意数量规则与事件的应用程序。
事件和规则都是 JSON 对象,规则还可以通过内置的查询语言(可用于描述自定义匹配模式)来表示。例如,描述图像的 JSON 事件是这样的:
这个 JSON 可以使用 JSON 规则(只过滤静态图像)进行过滤:
示例来源: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 上。
原文链接:
相关阅读:
评论