Как правильно спроектировать структуру бэкэнда для службы обмена сообщениями?

Итак, в настоящее время я работаю над проектом, позволяющим обмениваться сообщениями между различными устройствами с использованием API REST, но я столкнулся с препятствиями, связанными с обработкой запросов и запросов от нашего бэкэнда.

Текущая структура, которую я имею в виду,

  • Пользователь А пишет "Эй, что случилось!" Пользователю B в приложении (приложение не имеет значения, я все понял)
  • Затем приложение отправляет сообщение с использованием HTTP-запросов POST / PUT на наш сервер.
  • Бэкэнд получает HTTP-запрос POST / PUT
  • Пользователь B открывает приложение, создавая GET HTTP-запрос на наш сервер
  • Backend отправляет пользователю B сообщение (так как это новое сообщение)
  • Пользователь Б получает сообщение
  • База данных удаляет сообщение, так как оно больше не нужно

Теперь это где мой опыт не хватает. Я использовал базы данных MySQL и раньше, но разве это лучший способ хранения нестабильных данных? У меня такое ощущение, что есть лучшая альтернатива, но я не знаю, есть ли она. Какую структуру дизайна я использую для отправки и получения запросов? JavaScript лучше для этого?

Заранее спасибо, и извините, если я не использую правильные термины в местах, поскольку я неопытен с этим типом бэкэнда.

1 ответ

Я использовал такую ​​же настройку, как ваша, в моем предыдущем проекте.

Единственное, что я сделал по-другому, - это то, что я использовал файл JSON на сервере вместо сервера MySQL для хранения сообщений.

Через PHP-скрипт на сервере, который позаботился о запросах POST/GET/..., я постоянно обновлял файл. Запросы поступали из сценариев javascript (JQuery) на клиенте. $.ajax прекрасно выполняет требования здесь.

Работал нормально. Тем не менее, подумайте, что это может быть не самый безопасный способ, поэтому, если вы хотите более безопасный способ создания чата, вы можете искать альтернативы. (это не было нужно в моей настройке)

Другие вопросы по тегам