#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 подписаться на худшую ситуацию, когда каждый пытается отправить сообщение другим.