Elastic Load Balancer перенаправляет запрос на каждый экземпляр EC2

Возможно ли, чтобы эластичный балансировщик нагрузки AWS перенаправлял входящий запрос каждому из экземпляров ec2, стоящих за ним?


person Shivmitra Mishra    schedule 08.05.2013    source источник
comment
Балансировщик нагрузки AWS предназначен для распределения трафика между экземплярами. чего вы от него ждете?   -  person mbdvg    schedule 08.05.2013
comment
Балансировщик нагрузки балансирует трафик между вашими инстансами EC2. То, что вы пытаетесь сделать, не балансирует. Если я правильно понял, вы хотите перенаправить запрос на каждый узел. Нет, с ELB это невозможно.   -  person Viccari    schedule 08.05.2013
comment
Я хочу иметь веб-API, который буду использовать для изменения состояния узла ec2 (точнее, уровня ведения журнала в системе). Важно, чтобы это достигало каждого узла ec2.   -  person Shivmitra Mishra    schedule 08.05.2013


Ответы (2)


Вы можете сделать это несколькими способами, и ответы могут быть очень длинными, но моя первая рекомендация — запустить другой экземпляр EC2, например, Apache Zookeeper. Каждый другой узел (те, которые вам нужно «уведомить») будет затем запускать клиент Zookeeper, как бы подписываясь на событие «изменение журнала». Всякий раз, когда вам нужно изменить уровень журнала, вы (вручную или автоматически) инициируете событие «изменение журнала» в узле Zookeeper. На странице проекта Zookeper есть множество примеров, вариантов использования и образцов кода, которые могут помочь вам начать работу.

Причина, по которой я рекомендовал Zookeeper, заключается в том, что он может служить центральной точкой настройки (не только уровня журнала) для ваших узлов в будущем.

person Viccari    schedule 09.05.2013

Для событий типа «Command and Control» вам, вероятно, понадобится другой механизм.

Вы можете использовать подход «Очередь SQS для каждого сервера», и какой бы сервер ни получил веб-запрос, поместил его в очередь каждого сервера. Серверы периодически опрашивают свою очередь для операций C&C. Это дает вам гарантированную семантику доставки, которая очень важна для операций C&C.

Вместо SQS можно использовать базу данных для выполнения (в основном) того же самого. Подход с БД удобен, поскольку он также может предоставить вам историю аудита, которая может быть (или не быть) важной.

person Chris M.    schedule 09.05.2013