Проектирование сервисов масштабирования с высокой доступной балансировкой нагрузки

При запуске самовосстанавливающихся, масштабируемых сервисов без сохранения состояния в таких средах, как marathon, "подтвержденный" шаблон должен иметь инструмент для обнаружения сервисов (например, bamboo), который передает данные балансировщику нагрузки (например, HAProxy), желательно с некоторой автоматической настройкой, чтобы пользователи могли перенаправляться к службам при использовании балансировщика нагрузки.

Кажется, я не нашел много материала о том, как сделать сам балансировщик нагрузки высокодоступным.

Если хост, на котором работает балансировщик нагрузки, умирает, я бы хотел, чтобы к службам по-прежнему обращались по тем же URI без простоев.

То, что я хочу, может быть достигнуто с помощью Pacemaker/Corosync, но тот факт, что этот конкретный момент часто опускается в различных руководствах и сообщениях в блогах, заставляет меня думать, что, возможно, существует более простая схема или что я упускаю из виду проблему.

У Вас есть какие-то предложения?


person Vincenzo Pii    schedule 14.04.2016    source источник
comment
Запуск HaProxy в масштабе на Marathon с общим источником конфигурации (смонтированным) может помочь? Я думаю о том, чтобы снять это требование с самого Марафона #RandomThought   -  person akskap    schedule 16.04.2016
comment
@akskap, спасибо за комментарий! Но даже в этом случае, скажем, что вы указываете на theapp.slave-ip, который HaProxy перенаправляет на экземпляр theapp, тогда, если ведомое устройство умирает, как вы указываете на новое ведомое устройство? Может быть, какая-то DNS-магия? Или, возможно, единственным решением является плавающий IP-адрес, управляемый кардиостимулятором.   -  person Vincenzo Pii    schedule 17.04.2016


Ответы (1)


Одним из распространенных подходов является запуск нескольких машин с Bamboo/HAProxy, извлекающих местоположения контейнеров из мастеров Marathon/Mesos. В среде AWS/Cloud-du-jour эти прокси-машины могут находиться за ELB (или даже в группе автомасштабирования, если ваша автоматизация достаточно хороша), чтобы предоставить вам настоящую функциональность высокой доступности.

person iZ.    schedule 22.04.2016
comment
Это работает, но вы должны полагаться на доступность ELB облачного провайдера :). Как бы вы сделали это в помещении? DNS, Пейсмейкер? - person Vincenzo Pii; 23.04.2016
comment
Да, какая-то установка, похожая на кардиостимулятор. - person iZ.; 25.04.2016