Назад | Перейти на главную страницу

Масштабирование балансировки нагрузки Amazon AWS WebSocket

Мы находимся в процессе разработки приложения WebSocket, которое будет работать на тех же серверах приложений, которые обслуживают наши API, которые все входят в целевую группу нового Балансировщик нагрузки приложений Amazon.

Я не уверен, что липкий сеанс вообще понадобится после обновления сокета, однако использование правил переадресации слушателя должно облегчить эту работу.

Меня беспокоят действия по масштабированию, выполняемые во время автоматического масштабирования целевых групп, в частности scale-in действие. Поскольку в настоящее время действия по масштабированию основаны на RequestCountPerTarget, когда экземпляры завершаются из-за того, что эта метрика не превышает пороговое значение, это не гарантирует, что у экземпляра нет активных подключений WebSocket.

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

  1. Как лучше всего с этим бороться?
  2. Есть ли еще один показатель, который я мог бы использовать для автоматического scale-out группа, основанная на количестве активных подключений на цель, чтобы лучше облегчить масштабирование WebSocket в дополнение к запросам API?

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