Контекст: в настоящее время я выполняю рефакторинг приложения в соответствии с принципами 12-факторного приложения. У меня есть сторонняя интеграция (с Twitch (twitch.tv)) - которая подключается (через веб-сокеты) к указанному c каналу и затем прослушивает сообщения. Я хочу иметь возможность управлять подключением, отправкой сообщений и отключением к этому каналу Twitch с помощью запроса API.
Это приложение-узел, запускаемое с pm2 в режиме кластера. Это означало бы запуск нескольких экземпляров, и, следовательно, нет никакой гарантии, что один и тот же экземпляр сервера будет получать последующие запросы от одного и того же клиента.
Как один рефакторинг интеграции Twitch следует правилам 12 фактор приложение? Должен ли он жить в своем собственном отдельном сервисе, чтобы слушатели событий жили в этом единственном экземпляре Twitch?
Кто-нибудь решил подобную проблему? Я не мог сразу найти решение для этого.