2
Ich bin neu in Siddhi, und ich habe einige Fragen:Siddhi CEP 3.x newbie Fragen
- Ist SiddhiManager Thread-sicher? Ist es eine bewährte Methode, eine gemeinsame Instanz pro JVM zu verwenden?
Wie definiert man einen Stream und fügt eine Abfrage zur Laufzeit hinzu? Es scheint nur siddhiManager.createExecutionPlanRuntime (Plan), die eine neue ExecutionPlanRuntime Instanz erstellen wird. Und wie Stream und Abfrage neu zu definieren?
Was ist inEvents und removeEvents in QueryCallback?
executionPlanRuntime.addCallback("query1", new QueryCallback() { @Override public void receive(long timeStamp, Event[] inEvents, Event[] removeEvents) { EventPrinter.print(timeStamp, inEvents, removeEvents); } });
- Wie würde Siddhi skalieren, wenn ich viele Streams und Abfragen habe?
Vielen Dank!
Vielen Dank, es ist wirklich hilfreich! Möchten Sie einen Ausführungsplan zur Laufzeit bearbeiten? Oder denkst du, das ist vielleicht nutzlos? – gembin
Feature zu Hot Deploy ist in der Tat nützlich, aber wir haben es aus Gründen der Leistung kompromittiert. Wenn wir den Austausch von Hot Query unterstützen wollen, sollte es einen Mechanismus geben, der verhindert, dass Ereignisse verloren gehen, die während des Swapping-Prozesses empfangen wurden. Dadurch wird dem kritischen Ausführungspfad eine Codeebene hinzugefügt. Wenn wir über die Wahrscheinlichkeit nachdenken, dass jemand Ausführungspläne zur Laufzeit in einem Produktionssystem austauschen kann, ist das sehr gering. Vielleicht sogar null. Also handeln wir im Prinzip miteinander. Dies ist der Grund dafür, dass keine Hot-Deployment-Lösung verfolgt wird. – Tishan