Выполнить монго после сохранения хуков на нескольких серверах - PullRequest
0 голосов
/ 23 октября 2019

В настоящее время я работаю над системой чата узлов, которая использует MongoDB для базы данных. Эта система имеет API и взаимодействует с пользователями приложений через веб-сокеты. Я думал об использовании хуков сохранения сообщений mongoose для отправки сообщений пользователям, если сообщение было отправлено через API.

Упрощенный пример этого будет:

roomSchema.post('save', function(next){
    socket.emit('message', this.message);
    next();
});

Теперь яЯ думаю о scalling и как будет возможно выполнить эту ловушку на сервере, который фактически имеет пользователей в комнате, подключенной к нему (через websocket), если работает несколько серверов.

Подводя итог ...

  • У меня есть два сервера, вызов API создает новое сообщение на первом
  • У меня есть пользователи, подключенные ко второму серверу, на который я хочу отправить это сообщение

Как можно обойти эту проблему, зная, что перехваты выполняются только на сервере, который фактически записывает в базу данных?

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