Работа эластичного балансировщика нагрузки Amazon WS

Мне интересно узнать, как работает ELB. У меня есть клиент, который отправляет на сервер запрос с интенсивным использованием ЦП. Все запросы, отправленные на сервер, проходят через AWS ELB. Я создал группу автомасштабирования для сервера с политикой масштабирования со средним порогом использования ЦП 80%.

Например, Клиент отправит всего 5 запросов через ELB. 1-й запрос перенаправлен на сервер, и его загрузка ЦП достигает 100%. Теперь для второго запроса создается новый экземпляр, если я не ошибаюсь. Этому новому экземпляру требуется некоторое время для инициализации, и он начинает обработку, чтобы его загрузка ЦП достигла 100%. Это означает, что я должен установить некоторую искусственную задержку, превышающую время инициализации экземпляра, между двумя последовательными запросами, перенаправленными в ELB, чтобы один экземпляр сервера обрабатывал каждый запрос? Поправьте меня, если я ошибаюсь? Какую оптимальную задержку следует добавить в таком случае?

Также есть CPU Util. пороговое среднее значение для всей группы автоматического масштабирования или одного экземпляра? Работает ли моя политика увеличения масштаба?

Желаемым результатом будет то, что каждый экземпляр сервера будет обрабатывать один и все серверы, работающие параллельно. Я делаю это, чтобы ускорить общее время обработки, используя эластичность.

Спасибо в ожидании


person ACoder    schedule 06.01.2014    source источник


Ответы (1)


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

У вас есть экземпляр, который принимает запросы. Если запросов не так много, это может быть даже микро-экземпляр. Затем этот экземпляр будет создавать рабочие места в SQS. (Вы можете использовать другую систему очереди сообщений, но при автомасштабировании можно использовать показатели SQS).

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

person datasage    schedule 06.01.2014