Я хочу проксировать соединения WebSocket с несколькими серверами node.js, используя Amazon Elastic Load Balancer. Поскольку Amazon ELB не обеспечивает фактическую поддержку WebSocket, мне нужно будет использовать его обмен сообщениями с TCP-сетью. Тем не менее, я пытаюсь понять, как это будет работать без какой-либо липкой функциональности сеанса.
Я понимаю, что WebSockets работают, сначала отправив HTTP-запрос на обновление с клиента, который обрабатывается сервером, отправив ответ, который правильно обрабатывает аутентификацию ключа. После того как сервер отправит этот ответ и одобрен клиентом, существует двунаправленное соединение между этим клиентом и сервером.
Однако скажем, клиент после утверждения ответа сервера отправляет данные на сервер. Если он отправляет данные в балансировщик нагрузки, а балансировщик нагрузки затем передает эти данные на другой сервер, который не обрабатывает первоначальный запрос обновления WebSocket, то как этот новый сервер будет знать о соединении с WebSocket? Или клиент автоматически обойдется балансировщиком нагрузки и отправит данные непосредственно на сервер, который обрабатывал первоначальное обновление?