Ich bin neu bei Vert.x und möchte einen Pool von Worker-Verticles implementieren, um Datenbankabfragen mit BoneCP durchzuführen. Ich bin jedoch etwas verwirrt darüber, wie man sie zum Arbeiten anruft und wie man den BoneCP-Verbindungspool zwischen ihnen teilt.Vertex-Worker-Verticle-Pool für JDBC
habe ich in Vertx DeploymentManager source dass das Verfahren, bis start(Future)
nicht entfalteten synchron und dann wird die verticle gehalten im Speicher aufgerufen wird. Nachdem die Methode start
abgeschlossen wurde, wie lautet der richtige Aufruf von Methoden auf der Arbeitsvertikale? Wenn ich viele Instanzen des verticle deploye (unter Verwendung von DeploymentOptions.setInstances()
), wird Vertx Lastenausgleich zwischen ihnen?
Ich habe gesehen, dass Vert.x kommt mit einem JDBC-Client und einem Worker-Pool, aber es hat begrenzte Datentypen, mit denen ich arbeiten kann, weil es den EventBus verwendet und serialisiert alle Daten von der Datenbank zurückgegeben. Ich muss mit vielen verschiedenen Datentypen arbeiten (einschließlich Datumsangaben, BigDecimals und binären Objekten) und möchte die Serialisierung so weit wie möglich vermeiden, aber stattdessen Abfragen im Worker verticle durchführen, die Ergebnisse verarbeiten und ein Objekt über ein Future oder AsyncResult zurückgeben (Ich glaube, das ist auf dem Haufen, also keine Serialisierung benötigt, ist das korrekt?).
Bitte helfen Sie mir, alle diese Fragen zu lösen :) Ich werde viel zu schätzen wissen, wenn Sie mir Beispiele geben, wie kann ich das machen Arbeit!
Danke!
Vielen Dank für Ihre Hilfe. Ich werde meine Verticles mit Listenern auf dem Event-Bus einrichten, um Anfragen zu bearbeiten, aber ich muss immer noch daran arbeiten, den jdbc-Verbindungspool zwischen ihnen zu teilen. Ich wollte dies in Vert.x implementieren, um das Framework zu lernen und asynchrone I/O zu nutzen, um viele Anfragen mit weniger Ressourcen zu bearbeiten :) – rober710