Подтвердить что ты не робот

Реализация архитектуры и проектирование системы уведомлений с использованием socket.io node.js и входящих сообщений

Отказ

  • Я не работал с node.js до
  • Я не использовал socket.io перед

Я ищу внедрение системы уведомлений в стиле Google Plus, Facebook, StackOverflow. Я не неопытный разработчик, и в конце концов я это выясню, но я просто ищу толчок в правильном направлении.

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

В настоящее время все мои сообщения хранятся в одной таблице.

  |  id    | messageSubject   | messageBody     | hasRead   | readDate   | sentDate   | sentToUser  | sentFromUser  |
  |   1    |   HelloWorld     | Nada            |   0       | `null`     | `null      |      1      |      10       |

Теперь все мои сообщения извлекаются из десятков разных источников.

  • Сообщение может быть введено через API третьими лицами
  • Сообщение вытягивается из Send Grid
  • Сообщения могут отправляться через частные контроллеры сообщений.
  • Etc и т.д.

Я хочу, чтобы у вас был способ уведомить пользователей о получении нового сообщения. Я рад реорганизовать свой код любым способом, который позволяет уведомлять мой node.js, когда я получаю сообщение вставки, если это то, что мне нужно сделать.

Но я просто не совсем уверен, с чего начать.

Моя проблема в том, что все мои сообщения вводятся в mysql через десятки разных источников, мои операторы Insert находятся во многих областях. Поэтому я просто не знаю, как лучше всего двигаться дальше.

Спасибо.

4b9b3361

Ответ 1

Попробуйте посмотреть презентацию Почему базы данных сосут для обмена сообщениями, а именно о том, почему вы не должны использовать такие базы данных, как MySQL для обмена сообщениями. Messaging и системы уведомлений хорошо работают с Архитектура, управляемая событиями и я бы рекомендовал посмотреть эту презентацию или узнать больше на эту тему из здесь, чтобы получить более полную картину о "экосистеме", управляемой событиями.