инстанса сервера, для этого нужен брокер - redis, kafka, rabbit. Теперь, осталось понять как лучше балансировать нагрузку, через nginx или haproxy не получится. Мне кажется, что довольно удобно было бы сделать отдельный dns сервер, который бы подключался к брокеру и через него собирал инфу о доступных инстансах (либо ws-сервер сам уведомляет о себе, либо ping с каким-то интервалом) и раздавать ip сервер раунд-робином. Есть ли какие-то готовые решения на замену вышеописанной техники?
почему через nginx не получится? он же вроде умеет в least connections
haproxy с first, мы так и живем кстати
Почему брокер нужен обязательно?
ну, мне кажется, это удобно - ты отправляешь сообщение, допустим в чат, пользователи чата на разных серверах, а брокер обеспечивает доставку на все сервера
ну или на сервера подписанные на сообщения из чата
Ну вы всегда можете сделать тупой балансировщик - сначало спросить у одного простенького балансировщика, который следит за жизнью ваших инстансов и их нагрузкой, куда присоединяться сокетом, и клиентом уже напряму присоединяетесь к конкретному инстансу 😄
да, это так и работает, пока
вообще, попахивает ipvs dsr или вообще katran
Обсуждают сегодня