Akka Remoting для грид-сервера - PullRequest
1 голос
/ 11 января 2012

В нашем приложении есть серверный узел, который делегирует работу многочисленным рабочим узлам, которые являются удаленными участниками.Ожидается, что это приложение будет масштабироваться за счет увеличения числа рабочих узлов.

Мы используем Akka 1.3-RC4 и делаем ставку, если делаем что-то неправильно, потому что замечаем следующее:

1> Новые сокетыоткрывается при отправке задач на рабочие узлы с сервера.Сокеты закрываются после завершения задачи.Есть ли польза / причина, почему розетки не всегда остаются открытыми?Есть ли какой-нибудь конф, который нам нужно настроить?

2> Когда мы перечисляем количество файловых дескрипторов, открытых PID серверного процесса, число увеличивается пропорционально количеству открытых сокетов (вполне ожидаемо).Целью этого приложения является масштабирование до огромных (глобальных) вычислительных ферм, однако, как только предел файловых дескрипторов достигнут, узел-сервер не может открывать сокеты для других рабочих узлов.Интересно, стоит ли менять дизайн и подход по-другому?

Еще одна вещь, которую мы активно рассматриваем, - это перейти на Akka 2, однако, не уверен, что у нее есть лучший способ решить эту проблему.

Спасибо!

1 Ответ

0 голосов
/ 11 января 2012
  1. Вы можете увеличить тайм-аут чтения для соединений, чтобы они оставались открытыми дольше
  2. Вам следует переключиться на 1.3-RC6, поскольку это устраняет некоторые проблемы с производительностью, связанные с удаленным доступом
  3. Akka2.0 по умолчанию возобновляет входящие соединения для исходящих сообщений, что приводит к гораздо лучшей масштабируемости для вашего варианта использования

Надеюсь, это поможет,

Приветствия, √

...