Socket.io nodejs кластер ха sh балансировка нагрузки с прокси - PullRequest
0 голосов
/ 03 мая 2020

Я создал приложение, в котором люди подключаются к комнатам через веб-сокет на основе идентификатора комнаты в URL, например app.com/9l4CvjXFxn. Дело в том, что я хочу запустить несколько экземпляров узла, чтобы защитить постоянно работающий экземпляр, в случае, если другие взломали sh, а также потому, что я слышал, что балансировка нагрузки хороша. У меня также есть контент пользовательского интерфейса stati c. Я использую только socketio, но не REST api.

Теперь я планирую использовать балансировщик нагрузки и обслуживающий прокси, такой как nginx или haproxy. Я никогда не использовал ни одного из них. Я также думал об использовании PM2 для простого запуска многих экземпляров узлов. Приложение, вероятно, будет развернуто на AWS.

Веб-сокеты происходят через обновление HTTP1 до определенного пути в сокете, я установил его на root /. Таким образом, в первоначальном запросе на обновление я не могу изменить путь, но я могу поместить вещи в URL-запрос или подготовить заголовки ie.

Таким образом, основное требование для loadbalancer - это прямое обновление веб-сокета определенное место для одного указанного c экземпляра узла последовательно, поэтому я подумал о распределении нагрузки по схеме sh, но я понятия не имею, как это сделать и является ли это правильным подходом вообще. Не могли бы вы помочь? Спасибо!

...