Могу ли я выяснить, какой экземпляр в настоящее время используется Elastic Load Balancer?

Я создал два экземпляра Amazon EC2. После этого я создал Elastic Load Balancer и зарегистрировал в нем два экземпляра.
Теперь я хотел бы знать, когда мы используем DNS-имя балансировщика нагрузки, какой экземпляр будет использовать балансировщик нагрузки?


person ѕтƒ    schedule 12.04.2013    source источник


Ответы (3)


Идея балансировки нагрузки заключается в распределении рабочей нагрузки между несколькими компьютерами или компьютерный кластер, сетевые соединения, центральные процессоры, диски или другие ресурсы [...].

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

Соответственно, Elastic Load Balancing (ELB) автоматически распределяет входящий трафик приложений между несколькими экземплярами Amazon EC2. .

Как это делается конкретно, является довольно сложной темой, в основном из-за того, что документация по маршрутизации ELB не существует, поэтому нужно собрать некоторые части, чтобы сделать вывод - см. мой ответ на связанный вопрос Могут ли Elastic Load Balancer правильно распределять трафик между экземплярами разного размера для подробного анализа, включая все известные мне ссылки.

Что касается рассматриваемого вопроса, я думаю, что он сводится к несколько расплывчатому ответу команды AWS от 2009 года на Стратегия ELB:

ELB в общих чертах отслеживает, сколько запросов (или подключений в случае TCP) не выполнено в каждом экземпляре. Он не отслеживает использование ресурсов (таких как ЦП или память) в каждом экземпляре. В настоящее время ELB выполняет циклический поиск среди тех экземпляров, которые, по его мнению, имеют наименьшее количество невыполненных запросов. [выделено мной]

person Steffen Opel    schedule 12.04.2013

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

person mbdvg    schedule 12.04.2013

Конечно, вы можете выяснить, на какой сервер отправляется ваш запрос!

На каждом сервере вам понадобится что-то вроде файла health_check.html (можно назвать как угодно, кто-то предложил index.htm, но это плохая идея и это совсем другое обсуждение), чтобы балансировщик нагрузки мог вызвать его и определить, как долго потребовалось, чтобы получить ответ.

На сервере №1 поместите в файл health_check.html следующее: <HTML><BODY>1</BODY></HTML>

На сервере №2 поместите это в файл health_check.html: <HTML><BODY>2</BODY></HTML>

Теперь, когда вы переходите на www.YourDomain.com/health_check.html, вы будете точно знать, на каком сервере вы находитесь.

Очистите файлы cookie и повторно перейдите по тому же URL-адресу, чтобы увидеть, какой сервер вы получите следующим. Удачи разработчику облачных сервисов!

person lknox    schedule 29.08.2013