Frage

Unsere Anwendung verfügt über einen Serverknoten, der die Delegierten an zahlreiche Arbeiter-Noten arbeiten, die Remote-Akteure sind. Diese Anwendung wird voraussichtlich skaliert, indem die Anzahl der Arbeiterknoten erhöht wird.

Wir verwenden Akka 1.3-RC4 und setzen etwas falsches, weil wir Folgendes bemerken:

1> Neue Sockets werden geöffnet, wenn Aufgaben vom Server an Arbeiterknoten gesendet werden. Die Steckdosen schließen nach Abschluss der Aufgabe. Gibt es einen Vorteil / Grund, warum die Sockel nicht immer offen gehalten werden? Gibt es ein Geständnis, das wir optimieren müssen?

2> Wenn wir die Anzahl der von der Serverprozess -PID geöffneten Dateideskriptoren auflisten, schießt die Anzahl proportional zur Anzahl der geöffneten Sockets auf (völlig erwartet). Das Ziel dieser Anwendung ist es, auf riesige (globale) Berechnung zu skalieren, aber sobald die Grenze der Dateideskriptoren erreicht ist, kann der Serverknoten die Sockets für weitere Worker-Nodes nicht öffnen. Ich frage mich, ob wir das Design und die Herangehensweise auf andere Weise ändern sollten.

Eine andere Sache, die wir aktiv betrachten, ist, zu Akka 2 zu wechseln, aber nicht sicher, ob es eine bessere Möglichkeit hat, diese Art von Problem zu lösen.

Vielen Dank !

War es hilfreich?

Lösung

  1. Sie können das Lesezeitpunkt für die Verbindungen erhöhen, um sie länger offen zu halten
  2. Sie sollten auf 1.3-RC6 wechseln, da einige Fernbedienungsprobleme behoben werden
  3. AKKA 2.0 SEFAULT SEFAULT INBOUND VERBINDUNGEN FÜR AUSGEUTE MONDALS, was zu einer viel besseren Skalierbarkeit für Ihren Anwendungsfall führt

Hoffe das hilft,

Prost, √

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top