Scaling Node.js Рабочий прослушивает подключение к внешнему сокету - PullRequest
0 голосов
/ 27 июня 2019

В моем проекте я планирую использовать подход Web Worker / Service Worker, чтобы иметь возможность обновлять время простоя и легко масштабировать свое приложение в будущем.

Вдохновленные этой статьей: https://medium.com/the-node-js-collection/switching-from-cluster-module-to-pm2-rabbitmq-in-node-js-d0cce5eb96f4

Для обмена сообщениями между работниками я планирую использовать RabbetMQ с модулем js "amqplib" узла.Который я довольно новичок в RabbitMQ, Pub / Sub, Messaging.

Чтобы иметь возможность масштабировать приложение и «Обновление с нулевым временем простоя».Все работники должны быть лицами без гражданства.Поэтому для этого я использую подход JWT для своего API.Так хорошо.Но в моем приложении я должен прослушивать внешнее сокетное соединение для каждого пользователя в моем приложении.Итак, мои вопросы:

  1. Каков правильный подход для масштабирования «Работника, слушающего сокеты». (Даже я не уверен, должен ли это быть отдельный работник).
  2. тогда я обновлюэтот «Работающий с сокетами слушатель» pm2 попытается просто запустить 2 экземпляра этого работника, чтобы обновить «Ноль времени простоя».В этом сценарии возможность открытия двух одинаковых сокетов, отправляющих одно и то же сообщение в очередь задач RabbitMQ.(Как я могу предотвратить дублирование сообщений в RabbitMQ)
  3. Допустим, число пользователей приложения становится огромным.Помимо одного работника может справиться.

Я правильно объяснил проблемы?Каков был бы правильный способ мышления ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...