Я рассматриваю следующие два подхода для настройки вычислительной сетки с использованием Akka 2.0:
а. иметь центральный узел маршрутизатора, который знает обо всех рабочих узлах (то есть, на каком хосте и порте они работают), отслеживать их состояние и назначать им работу. Рабочие ничего не знают о том, где находится центральный маршрутизатор, они просто получают вычислительные запросы, вычисляют результаты и отправляют их обратно отправителю запроса.
ИЛИ
б. иметь центральный узел маршрутизатора, который ничего не знает о том, где находятся все работники вычислительной сетки (то есть, на каком хосте и порту они работают). Все рабочие знают о центральном маршрутизаторе и регистрируются на центральном маршрутизаторе при запуске. После регистрации маршрутизатор отслеживает их состояние (вверх или вниз) и назначает им работу.
Очевидно, что оба подхода имеют свои плюсы и минусы, которые могут лучше подходить для разных вариантов использования и сценариев. Мне интересно, какой подход предпочитает сообщество Akka с учетом предстоящего API Akka 2.1? Другими словами, какой подход, вероятно, будет более подходящим для Clustering API, который собирается предоставить Akka 2.1?
Я просматривал документацию Akka 2.0 RC2, в которой кратко обсуждаются функции кластеризации, которые появятся в Akka 2.1, но пока не слишком много выпущенных спецификаций. Я надеюсь получить лучшее понимание от экспертов Akka в сообществе.