2017-12-21 1 views
0

Ich werde einen ESB aufrufen, also möchte ich einen Service-Proxy für diesen Code erstellen.Putting Code für Vertx-Service-Proxy in Docker

Da es mehrere Verticles gemeinsam haben wird, da der Code zwischen jedem ESB-Aufruf weitgehend konsistent ist, werde ich andere Dienstproxys erstellen, die spezifisch sind.

Also, um offene Bestellungen für einen Benutzer nachzuschlagen, wird das OrderVerticle eine Anfrage auf den Event-Bus stellen und der OpenOrderService wird dann die Anfrage für den ESBService einreichen.

Also, mein Problem ist, ich habe alles dockerisiert, so dass jeder Verticle in einem eigenen Container ist. Wie docke ich den Eventbus-Code? Soll ich nur einen Andockbehälter mit allen Projekten für den Eventbus haben?

Das scheint eine schlechte Idee zu sein, also, was ist der richtige Weg, damit umzugehen?

Ein weiterer Gedanke war, alle Dienst-Proxy-Projekte für jedes verticle in den Docker-Container für dieses verticle zu stellen, aber das scheint auch falsch zu sein.

Also, versuchen, die richtige Art und Weise zu verstehen, dies zu tun, wie der einfache Weg, aber falsch, ist neu Verticles anstelle einem serviceproxy zu erstellen und dann einfach GRPC oder RPC Anrufe aus den OrderVerticle-OpenOrderVerticle machen und von dort zu ESBVerticle.

Antwort

0

Vert.x kann im Clustermodus gestartet werden. In diesem Fall wird sich der EventBus über mehrere Knoten erstrecken (die in einem Container ausgeführt werden oder nicht).

So könnten Sie Verticles A und B auf Knoten 1 bereitstellen; C, D und E ein Knoten 2. So als ob sie alle auf derselben JVM implementiert wären.

Hier ist die Liste der unterstützten Clustermanager: http://vertx.io/docs/#clustering

+0

Also ich würde mit jedem verticle mein Service-Proxys in dem Docker Behälter gelegt, der sie verwendet? Danke –

+0

Auf jedem Client-Knoten müssen Sie die Clientseite des Dienstes für den Klassenpfad verfügbar machen. – tsegismont