我想了解有关如何构建基于CEP的应用程序的更多信息。所以我环顾四周,发现了几个产品(概述见http://rulecore.com/CEPblog/?page_id=47)。
但由于目前有不少,我不知道哪个是最好的开始。总的来说,我只会考虑免费提供的那个。其余的只是私人使用有点贵;)
Esper是免费的,但没有Esper工作室,开发一个cep应用程序似乎相当繁琐。 Streambase提供免费试用,但我无法知道你可以使用多长时间(如果只有一个月,那么对于更长时间的研究没有帮助)。 Oracle CEP套件似乎相当完整,但在cep场景中 - 据我所知 - 与Esper或Streambase相比,它是最不被认可的。那么你对开始使用cep开发的最佳方法有什么暗示吗?是否值得花时间研究oracle文档,或者从Esper或Streambase开始是否更好?
干杯,
Andreas
答案 0 :(得分:12)
Microsoft的CEP产品StreamInsight非常类似于Rx Framework和LINQ的反应式编程模型。
A Hitchhiker's Guide to StreamInsight Queries是一个很好的起点。
我建议使用LINQPad作为查询画布连接到Stream Insight。
答案 1 :(得分:10)
目前的CEP工具无法解决相同的问题!因此,根据您的喜好,您可以使用不同的工具。简而言之,我个人的选择是:
用于构建数据驱动算法,在带有扩展的SQL类型中编码 - 来自Aleri的Coral8引擎。免费进行测试和开发(无论如何之前由Aleri购买)
用于检测事件模式(情境),无编码(声明式)但使用XML配置 - RuleCore,免费测试订阅(Web)服务
对于混合使用低级别控制和Java编码 - Esper,GPL。
使用GUI的图形框和箭头样式创建数据驱动的计算逻辑:StreamBase。
答案 2 :(得分:2)
我认为最好的选择是比较免费提供的解决方案,然后用它们制作一些东西。
我不确定你的最终目标是什么,如果要学习你在工作中使用的技术,或者只是为了玩一些很酷的东西,但对于我这样的项目,决定因素将是哪个工具我可以用来制作一些我可以与世界分享的东西。
在这种情况下,我的选项可能是Esper或OpenESB。这样,我就可以将项目放在简历上(特别是如果我申请使用CEP工具的工作)并与全世界分享。
答案 3 :(得分:1)
你可以阅读Curt Monash的博客(http://www.dbms2.com),他写了一些关于CEP的内容。
答案 4 :(得分:1)
是否有兴趣免费订阅ruleCore(云,SaaS或今天所谓的任何服务)服务?它将运行在较小且不太可靠(无集群)的硬件上,并且可能仅用于测试小型低性能事物。如果support@rulecore.com得到了这样的几个请求,我肯定它会被放到todo列表中......
答案 5 :(得分:1)
为了检测事件模式,我发现rulecore非常容易使用。我只是试图检测中低复杂度的模式,并且确实运行良好。需要一些时间来习惯这些概念,但它实际上是一个非常小的系统,所以它并没有那么糟糕。而且你需要喜欢XML,因为一切都是用XML完成的。
如果您正在尝试创建交易应用程序,那么StreamBase会更好。但是为了监控东西,rulecore感觉更好。
答案 6 :(得分:1)
如果您有连续的流(市场信息,物联网传感器,Twitter,新闻等),那么流处理技术是您的正确选择。流处理/流分析只是不同CEP解决方案(流,规则,模式等)的一部分。
同时有几个用于流处理的开源选项,例如Apache Storm,Apache Spark或Apache Samza,以及强大的专有产品,如IBM InfoSphere Streams,TIBCO StreamBase或Software AG的Apama。
分别查看我的博客文章,了解有关不同流处理和流分析解决方案(开源和专有)的更多详细信息:
答案 7 :(得分:0)
我将从Aleri Coral8(目前是Sybase)的免费试用开始