【发布时间】:2014-04-07 22:55:22
【问题描述】:
根据文档 (https://docs.wso2.org/display/CEP310/Clustered+Deployment),您可以在分布式模式下运行 Siddhi。
据我了解,所有节点都将共享流定义并在共享上下文(流、查询、事件...)上运行。
但我不能让它工作:
- 使用 2.0.0-wso2v4 版本
- 我编写了一个简单的程序,该程序启动两个启用分布式处理的 siddhiManager。
- 程序在 siddhiManager1 中创建一个流和一个查询
- 添加在两个管理器(上一个流)中打印事件的流回调
- 在 siddhiManager1 中发送事件
- 在 siddhiManager1 和 siddhiManager2 中打印流
结果是:
- 我可以看到 Hazelcast 工作,每个经理看到另一个。
- siddhiManager1 有一个流、一个查询并打印一个事件。
- siddhiManager2 没有任何内容。
我已经使用 siddhi-distribution (fat-jar) 进行了测试,但也使用了 siddhi-api、siddhi-core 和 siddhi-query jars。
Siddhi-distribution fat-jar 内部有一些与 Hazelcast 相关的 xml,但据我所知,这些配置没有被加载,并且在源代码 (github) 中我没有看到这些文件有什么特别之处 (siddhiManager )。
关于如何在分布式缓存模式部署中运行 siddhi 有什么想法吗?我做错了什么?
【问题讨论】:
标签: wso2 hazelcast complex-event-processing siddhi