Siddhi CEP 3.x 新手问题
Siddhi CEP 3.x newbie questions
我是 Siddhi 的新手,有几个问题:
- SiddhiManager线程安全吗?每个 JVM 一个共享实例是一个好习惯吗?
如何在运行时定义流和添加查询?它似乎只有 siddhiManager.createExecutionPlanRuntime(plan) ,它将创建一个新的 ExecutionPlanRuntime 实例。以及如何重新定义流和查询?
inEvents 和 removeEvents 在 QueryCallback 中是什么?
executionPlanRuntime.addCallback("query1", new QueryCallback() {
@Override
public void receive(long timeStamp, Event[] inEvents, Event[] removeEvents) {
EventPrinter.print(timeStamp, inEvents, removeEvents);
}
});
- 如果我有很多流和查询,Siddhi 将如何扩展?
谢谢!
- 是的。 SiddhiManager 是线程安全的,这是一个很好的做法
每个 JVM 一个共享实例。事实上,Siddhi Manager 就是这样
用于 WSO2 CEP。
- 在 Siddhi 流定义 + 查询组合被认为是
执行计划。没有专门的方法来编辑执行计划
在 Siddhi 级别,而不是使用重新部署
创建执行计划方法。请注意,您将获得一个新的
ExecutionPlanRuntime 对象由这个。因此不能重用旧输入
处理程序引用。
- inEvents 数组表示 Siddhi 和
removeEvents 表示 Siddhi
发出的过期事件
- 如果你有很多查询,Siddhi 会很好地扩展
执行计划。但是当使用多个执行计划进行扩展时
Siddhi 将很快达到资源阈值,因为资源
每个执行计划的利用率都不高,这将导致性能下降。
最近我们做了改进来解决这个限制
在这 [1] 封邮件中解释。 master 可以改进
分支.
[1] http://wso2-oxygen-tank.10903.n7.nabble.com/Siddhi-Making-Disruptor-configurable-td136499.html
我是 Siddhi 的新手,有几个问题:
- SiddhiManager线程安全吗?每个 JVM 一个共享实例是一个好习惯吗?
如何在运行时定义流和添加查询?它似乎只有 siddhiManager.createExecutionPlanRuntime(plan) ,它将创建一个新的 ExecutionPlanRuntime 实例。以及如何重新定义流和查询?
inEvents 和 removeEvents 在 QueryCallback 中是什么?
executionPlanRuntime.addCallback("query1", new QueryCallback() { @Override public void receive(long timeStamp, Event[] inEvents, Event[] removeEvents) { EventPrinter.print(timeStamp, inEvents, removeEvents); } });
- 如果我有很多流和查询,Siddhi 将如何扩展?
谢谢!
- 是的。 SiddhiManager 是线程安全的,这是一个很好的做法 每个 JVM 一个共享实例。事实上,Siddhi Manager 就是这样 用于 WSO2 CEP。
- 在 Siddhi 流定义 + 查询组合被认为是 执行计划。没有专门的方法来编辑执行计划 在 Siddhi 级别,而不是使用重新部署 创建执行计划方法。请注意,您将获得一个新的 ExecutionPlanRuntime 对象由这个。因此不能重用旧输入 处理程序引用。
- inEvents 数组表示 Siddhi 和 removeEvents 表示 Siddhi 发出的过期事件
- 如果你有很多查询,Siddhi 会很好地扩展 执行计划。但是当使用多个执行计划进行扩展时 Siddhi 将很快达到资源阈值,因为资源 每个执行计划的利用率都不高,这将导致性能下降。 最近我们做了改进来解决这个限制 在这 [1] 封邮件中解释。 master 可以改进 分支.
[1] http://wso2-oxygen-tank.10903.n7.nabble.com/Siddhi-Making-Disruptor-configurable-td136499.html