2015-10-12 2 views
4

Мой сервер node.js будет обрабатывать одновременные клиенты 50k. Единственный сервер node.js не способен обрабатывать такое количество нагрузки. Я полагаю, чтобы настроить 5 или 10 серверов node.js, работающих на разных портах. И, иметь балансировщик нагрузки, например. Nginx, слушая каждый сервер node.js. Когда один сервер достигает клиентов 10k, перенаправляйте избыточные входящие соединения на другие серверы node.js. Является ли это правильным способом обработки такой нагрузки с помощью node.js? Если нет, то в чем лучшая практика?Как обрабатывать большое количество нагрузки с помощью сервера node.js?

ответ

2

Самый простой способ справиться с нагрузкой - это действительно использовать балансировщик нагрузки для пересылки запросов на другой сервер на одном компьютере или на удаленных компьютерах.

Если вы хотите настроить серверы только на одном компьютере, используйте pm2, он позаботится о балансировке нагрузки и сохранении экземпляров сервера.

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

Я бы посоветовал запустить сервер на нескольких одноядерных машинах, чем на одной многоядерной машине. Для этого настройте pm2/forever на каждой машине и на другой машине для запуска nginx для балансировки нагрузки.

Это article должно помочь вам с nginx.

Смежные вопросы