Реализация архитектуры и дизайн для системы уведомлений с использованием 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
  • Сообщения могут отправляться через частные контроллеры сообщений.
  • И т.д.

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

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

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

Благодарю.

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