Я смотрел на модули slave/pool, и мне кажется, что это похоже на то, что я хочу, но это также похоже на то, что у меня есть одна точка отказа в моем приложении (если главный узел опускается).Использование Erlang, как мне распределить нагрузку среди кластера?
Клиент имеет список шлюзов (ради резерва - все это делает то же самое), которые принимают соединения, а один выбирается из случайно клиентом. Когда клиент соединяет все узлы, проверяет, какой из них имеет наименьшую нагрузку, а затем IP-адрес наименее загруженного сервера отправляется обратно клиенту. Затем клиент подключается к этому серверу, и там все выполняется.
Таким образом, я хочу, чтобы все узлы действовали как оба шлюза, а на самом деле обрабатывали запросы клиентов. Балансировка нагрузки выполняется только тогда, когда клиент изначально соединяется - все фактические пакеты и обрабатываются на «домашнем» узле клиента.
Как мне это сделать?