Возможно ли, чтобы эластичный балансировщик нагрузки AWS перенаправлял входящий запрос каждому из экземпляров ec2, стоящих за ним?
Elastic Load Balancer перенаправляет запрос на каждый экземпляр EC2
Ответы (2)
Вы можете сделать это несколькими способами, и ответы могут быть очень длинными, но моя первая рекомендация — запустить другой экземпляр EC2, например, Apache Zookeeper. Каждый другой узел (те, которые вам нужно «уведомить») будет затем запускать клиент Zookeeper, как бы подписываясь на событие «изменение журнала». Всякий раз, когда вам нужно изменить уровень журнала, вы (вручную или автоматически) инициируете событие «изменение журнала» в узле Zookeeper. На странице проекта Zookeper есть множество примеров, вариантов использования и образцов кода, которые могут помочь вам начать работу.
Причина, по которой я рекомендовал Zookeeper, заключается в том, что он может служить центральной точкой настройки (не только уровня журнала) для ваших узлов в будущем.
Для событий типа «Command and Control» вам, вероятно, понадобится другой механизм.
Вы можете использовать подход «Очередь SQS для каждого сервера», и какой бы сервер ни получил веб-запрос, поместил его в очередь каждого сервера. Серверы периодически опрашивают свою очередь для операций C&C. Это дает вам гарантированную семантику доставки, которая очень важна для операций C&C.
Вместо SQS можно использовать базу данных для выполнения (в основном) того же самого. Подход с БД удобен, поскольку он также может предоставить вам историю аудита, которая может быть (или не быть) важной.