Question

Notre application a un serveur nœud que les délégués travaillent à de nombreux travailleurs nœuds qui sont des acteurs distants. Cette application devrait à l'échelle en augmentant le nombre de nœuds de travailleurs.

Nous utilisons Akka 1.3 RC4, et le pari de faire quelque chose de mal parce que nous constatons ce qui suit:

1> Les nouvelles prises de courant sont ouvertes lorsque les tâches sont envoyés aux nœuds des travailleurs du serveur. Les prises ferment une fois que les finalise la tâche. Y at-il un avantage sur / raison pour laquelle les prises ne sont pas toujours maintenues ouvertes? Y at-il que nous avons besoin conf à modifier?

2> Lorsque nous listons le nombre de descripteurs de fichiers ouverts par le processus serveur PID, les pousses de nombre jusqu'à proportionnel au nombre de sockets ouverts (totalement attendus). L'objectif de cette application est à l'échelle d'énormes cependant (globales) fermes de calcul, une fois la limite de descripteurs de fichiers est atteinte, le serveur nœud ne peut pas sockets ouvertes pour les plus travailleurs nœuds. Je me demande si nous devons changer la conception et l'approche d'une autre manière.

Une autre chose que nous envisageons activement est de passer à 2 Akka cependant pas que si elle a une meilleure façon de résoudre ce genre de problème.

Merci!

Était-ce utile?

La solution

  1. Vous pouvez augmenter le délai d'attente de lecture pour les connexions, pour les garder ouverts plus longtemps
  2. Vous devriez passer à 1,3 RC6 car il corrige quelques problèmes de performances liés à distance
  3. 2.0 Akka soit par défaut resuses les connexions entrantes pour les messages sortants, menant à bien une meilleure évolutivité pour votre cas d'utilisation

Hope this helps,

Cordialement, v

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top