Как реализовать систему сообщений?

#php #python #web #messagebox

#php #python #веб #messagebox

Вопрос:

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

Теперь я использую простую систему для ее реализации, подробно описанную ниже.

Таблица Message :

  • ID
  • Содержание
  • приемник
  • отправитель

Таблица User :

  • некоторая информация
  • уведомление
  • некоторая информация

Когда пользователь A отправляет сообщение пользователю B, запись будет добавлена Message , и значение B.notification увеличится на 1. Когда B откроет окно сообщения, уведомление уменьшится до 0.

Это просто, но работает хорошо.

Интересно, как вы / компания реализуете подобную систему сообщений.

Не нужно заботиться о UE (например, подтверждать, какое сообщение прочитано пользователем), просто реализовать struct .

Большое спасибо: D

Ответ №1:

Я думаю, вам нужно будет прочитать о pub / sub для служб обмена сообщениями. Для php вы можете использовать библиотеки, такие как redis.

Так, например, пользователь1 подписывается на topic1, любой пользователь, который публикует в topic1, user1 будет уведомлен, и вы можете реализовать то, что произойдет с user1.

Комментарии:

1. Я кое-что знаю о pub / sub, и я использовал его с redis. Но я не думаю, что pub / sub подходит для подобной ситуации. Сообщение отправляется другим пользователем и не оказывает последующего влияния. при использовании pub / sub я должен использовать около 2 * n ^ 2 подписаться на худшую ситуацию, когда каждый пытается отправить сообщение другим.