2013-11-25 2 views
1

Я планирую серверную среду на AWS с автоматическим масштабированием по VPC.Предотвращение остановки машины на Amazon перед завершением всех пользователей

Мое приложение имеет некоторый процесс, который выполняется в несколько этапов на сервере, и пользователь должен придерживаться того же сервера, используя липкую сессию ELB.

Проблемы в том, что, когда группа автоматического масштабирования предполагает, чтобы выключить сервер, некоторые пользователи могут быть в середине процесса (процесс занимает несколько запроса - например - 1. Создание альбома 2. загрузить фотографий в альбоме каждый в то время 3. Преобразование фотографий в кино и удалять фотографии 4. магазин фильмов на S3)

можно ли сконфигурировать ELB, чтобы остановить прохождение новых пользователей к серверу, который собирается закрыть вниз, в то время как все еще проходят предыдущие пользователи (у которых есть липкий набор сессий) ?, и - можно ли сказать серверу ждать, скажем, 10 мин. после того, как правило отключения было отменено до его фактического закрытия?

Большое спасибо

ответ

1

Эта функция не была доступна в Elastic Load Balancing во время вашего вопроса, однако, AWS тем временем обратился к основной части вашего вопроса, добавив ELB Connection Draining к избежать разрыва открытых сетевых соединений при запуске экземпляра из строя, обновлении своего программного обеспечения или замене его новым экземпляром, который содержит обновленное программное обеспечение.

Пожалуйста, не то, что вам еще нужно указать достаточно большое время ожидания на основе максимального времени вы ожидаете пользователей закончить свою деятельность, см Connection Draining:

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

[...]

Если ваши экземпляры являются частью группы Auto Scaling и если соединение Слив включен для балансировки нагрузки, Auto Scaling будет ждать запросов в полете, чтобы завершить или для максимальное время ожидания до истечения срока действия, в зависимости от того, что наступит раньше:, до завершения экземпляров из-за события масштабирования или замены проверки работоспособности. [...] [курсив мой]

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