javaesper的简单介绍

博主:adminadmin 2023-03-21 02:38:05 392

今天给各位分享javaesper的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

有高手知道Esper编程的么?

楼主厉害。ESP是Sun被收购前Java的一个开源项目。专门用来从一个流(Stream)中截取二进制信息,是一个面向底层的很高级的技术。一般的,大型分布式系统中,架构师会考虑在多应用服务器的业务逻辑层是否利用ESP或CEP来实现,或者是直接进行简单的序列化,多种方案的选择以提高服务器的响应效率。大型项目中,采用的居多。小一些的项目,则体现不出优势来。

轻量级规则引擎调研

我们基于Flink实现了云端的规则引擎,以flink on yarn方式在运行,依赖hadoop和zookeeper,对于边缘侧来说比较重,所以打算调研下轻量级的规则引擎,我们的业务诉求如下:

1、轻量级

2、支持海量规则

4、便捷的规则启停

5、动态加载

从如下几方面对比目前比较流行的几个规则引擎框架:

1、社区活跃度

drools(3.7k),比较活跃的社区。三者中遥遥领先。

2、SQL支持度

不支持,通过DSL定义规则。有开发工具,生成drl文件。

3、开箱即用(支持JAVA API直接调用)

可直接maven引入依赖,开箱即用。规则需要预先加载,环境初始化比较慢2秒左右。需要自己写规则调度。

4、部署方式

可部署多个kie-server,kie-server为单机模式。

1、社区活跃度

Siddhi(1.2k)。

2、SQL支持度

与flink sql类似,流式处理。定义source、sink,支持多流join。丰富的插件:kafka、redis等。通过类SQL的语言描述事件流任务。

3、开箱即用(支持JAVA API直接调用)

可直接maven引入依赖,开箱即用。规则需要预先加载,环境初始化比较慢2秒左右。需要自己写规则调度。

4、部署方式

第一种方式:Standard Deployment  ,单机部署,与drools的kie-server的部署方式类似。

第二种方式:完整的分布式部署

此部署规模已经很接近flink了,但是没有checkpoint的机制。

esper的社区活跃度真不高esper(699),所以我们直接略过。

几个主流的规则引擎其实实现机制都差不多,功能都能满足我们的业务场景,drools在sql支持方面比较弱,优势在社区活跃度。Siddhi的部署方式已经接近Flink,网上都说它比较轻量级,我是真的没看出来。最终打算采用drools,直接通过java api进行调用。自己写个简单的调度,如果上了它的执行调度模块,还不如直接使用flink,flink在这方面成熟多了,有checkpoint、status等机制。对于drools的动态加载,我会单独开一篇文章来详细说明,这个是我们的痛点,基于flink目前机制实现不了的。

springboot中使用esper入门

esper是一个比较经典的CEP( Complex Event Processing )的开源实现( 开源协议为GPL v2 ),这里简单介绍下如何在springboot中使用。

在esper-6.1.0-sources.jar!/com/espertech/esper/core/service/EPServiceProviderImpl.java的构造器中也调用了初始化

javaesper的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javaesper的信息别忘了在本站进行查找喔。