2016-05-25 12 views
-1

Ich benutze Jersey Framework für meine REST API-Entwicklung und Tomcat-Server mit ihm. Meine API kommuniziert mit dem Apache Ignite-Grid und für jede War-Datei erstelle ich eine standardmäßige Ignite-Clientinstanz, die für alle API-Aufrufe verwendet wird. Ich frage mich, ob es eine Möglichkeit gibt, dass einzelne Ignite-Instanzen in verschiedenen Tomcat-Webapps geteilt werden können.Freigabe von Ignite-Instanz über Tomcat Webapps

+0

Was wäre der Vorteil, wenn Sie das erreichen? Ist das Erstellen eines Ignite-Clients in Bezug auf Ressourcen teuer? –

+0

ja, da sie etwas Speicher für sich selbst reservieren, wenn sie beginnen. –

Antwort

0

Sie haben verschiedene Klassenlader pro Webmodul, und es ist besser so. Daher würden Sie Instanzen nicht über Anwendungen hinweg freigeben.

Wenn Sie sich durch die Optimierung angetrieben wird, dann könnte man erwägen Ignite beginnend im Client-Modus von allen Web-Anwendungen, dann einen Ignite Knoten aus der Befehlszeile ausgeführt, so dass alle möglichen Tomcat-basierten Clients können verbinden Sie sich damit und teilen Sie Daten/etc extern.

+0

Obwohl ich mehrere Client-Knoten pro Web-App starte, wird immer noch Speicher belegt. Ich versuche, Krieg pro API zu adoptieren, und es wird sehr kostspielig sein, da ich sehr viele entzündete Klienten laufen lassen muss. –

+0

Ignite Klienten speichern keine Daten, sie benötigen Mitgliedsknoten, um zu arbeiten. Überprüfen Sie die Dokumente hier: https://apacheignite.readme.io/docs/clients-vs-servers –

+0

, aber sie reservieren Speicher für sich selbst beim Start. Für eine begrenzte Anzahl von APIs kann ich es mir leisten, mehrere ignite-Client-Instanzen zu haben. aber ein Problem tritt auf, wenn der Maßstab höher wird. :(. –