我应该选择哪个开源 CEP 进行分布式和流水线处理; siddhi,Flink,Esper?

Which Open source CEP shoud I choose for distributed and pipelined processing ; siddhi, Flink , Esper?

我不太喜欢 siddhi cep,因为它有 siddhi 查询语言,但它使用 storm 进行分布式处理,WSO2 提供了一个 web 界面/仪表板来创建和部署应用程序。我认为这会降低我增强/使用某些功能的独立性。

另一方面,Flink 似乎是不错的选择,但它需要大量代码来实现即使是简单的逻辑。

有没有比这些更好的选择,我是 困惑

你所说的独立性较低是什么意思?您可以使用 Siddhi 4.x [1] 而无需依赖 storm,通过使用其源和接收器功能使用 tcp、Kafka、http 等从一个实例接收消息并将消息发送到另一个实例。 WSO2 流处理器还使用新版本的 Siddhi 及其编辑器,您可以模拟事件并进行调试。

更新:从 4.1 [WSO2 流处理器][2] 开始,可以 运行 在完全分布式模式下的 Kafka 之上。参见 https://docs.wso2.com/display/SP4xx/Fully+Distributed+Deployment

[1] https://wso2.github.io/siddhi/

[2] https://wso2.com/analytics

我会做一个测试...在每个系统中创建 10 个查询...类似...

  select * from SomeEvent where value = 1
  select * from SomeEvent where value = 2
  ...
  select * from SomeEvent where value = 9
  select * from SomeEvent where value = 10

目的是了解创建查询的难易程度、API 或部署步骤的工作原理以及性能如何随查询数量变化。