Size: a a a

2021 June 28

AS

Alexey Shcherbak in ctodailychat
выше постили статью https://dzone.com/articles/load-balancing-of-websocket-connections
где говорится :

> For a better understanding of WS load balancing let’s dive a bit deeper into TCP sockets background. By default, a single server can handle 65,536 socket connections just because it’s the max number of TCP ports available. So as WS connections have a TCP nature and each WS client takes one port we can definitely say that number of WebSocket connections is also limited.

Такое же было мое понимание и до статьи - т.к. Websocket это stateful TCP соединение - держит 1 порт, потолок портов у TCP 65536
источник

GP

Gleb Pomykalov in ctodailychat
а оно нужно? разворачиваете свою терминацию TLS и не платите лишнего за LB.
источник

AR

Anton Revyako in ctodailychat
Да, но нет. Есть 2 тонких момента
1) они хранятся до ребута
2) они лочат весь инстанс на время своего выполнения. т.к. никакой транзакционности не предусмотренно и все в один поток. По дефолту лимит - 5 секунд.
источник

AS

Alexey Shcherbak in ctodailychat
какое это имеет отношение к количеству одновременных TCP подсоединений ? Если я только чего-то не понимаю в современных сетевых стеках - TCP там такой же и также съедает порт на подсоединение.
источник

GP

Gleb Pomykalov in ctodailychat
нет никаких проблем держать хоть миллион соединений. уникальным для TCP должно быть (адрес отправителя, порт отправителя, адрес получателя, порт получателя). Если вы нигде не открываете исходящих соединений и не съедаете исходящих портов, то все будет хорошо. Поэтому Если сервер торчит наружу публичным адресом, и никаких проксирований не происходит, то вы сможете деражть на одном сервере намного больше.
источник

A

Artur in ctodailychat
получается, одно и то же значение ip:port для открытого соединения на сервере может совпадать для разных клиентов?
источник

K

KivApple in ctodailychat
у разных клиентов разный ip
источник

A

Artur in ctodailychat
ага
источник

K

KivApple in ctodailychat
так что оно и так не совпадает
источник

AS

Alexey Shcherbak in ctodailychat
На один физический хост ? А вы так делали ? есть ссылка на rfc или что то более авторитетное подтверждающее такое заявление ?
Вебсокет же вроде как двустороннее соединение (т.е. всегда есть соединение по которому сервер может отправить сообщение клиенту).
источник

A

Artur in ctodailychat
в ссылке на стэковерфлоу примеры
источник

K

KivApple in ctodailychat
источник

K

KivApple in ctodailychat
источник

O

Onlinehead in ctodailychat
Это свойство TCP. Он прав. Нет ограничения в количество коннектов для одной пары ip:port на сервере
источник

K

KivApple in ctodailychat
сервер вообще все коннекты принимает на 1 порт
источник

K

KivApple in ctodailychat
уникальный порт нужен только для исходящих соединений
источник

K

KivApple in ctodailychat
я думаю проблемы возникают из-за проксирования
источник

A

Artur in ctodailychat
все верно, я прогнал
источник

K

KivApple in ctodailychat
так как даже на localhost
источник

K

KivApple in ctodailychat
нужен уникальный порт
источник