Развертывание чат-бота с помощью Django: WebSockets vs HTTP - PullRequest
0 голосов
/ 15 февраля 2019

В настоящее время в моем проекте django есть приложение chatbot, которое я хотел бы развернуть.

Я не уверен, стоит ли мне использовать WebSockets или обычные HTTP-вызовы (AJAX) для его реализации.Это то, что я понял о плюсах / минусах каждого (в контексте моего варианта использования) до настоящего времени после некоторых интернет-исследований.

Причины использования WebSockets по HTTP:

  1. WebSockets рекомендуются для приложений чата из-за низких издержек на сообщение пользователя после установления соединения.HTTP будет нести издержки на установление соединения при каждой отправке сообщения (также заголовок будет больше по размеру, который будет отправляться с каждым запросом / пользовательским сообщением)
  2. WebSockets обеспечивают связь в реальном времени без обходные пути как опрос в случае HTTP, который может привести ко многим ненужным запросам от клиента.

Причины использования HTTP через WebSockets:

  1. HTTP просто может быть в порядке для чат-бота (не чата человеку), потому что ответ чат-бота запускается только тогда, когда пользователь что-то сообщает, то есть бот не должен внезапно сообщать пользователюслучайные интервалы, которые потребовали бы связи в реальном времени.Бот отправляет только ответы на пользовательские сообщения.
  2. Придется использовать django-channels и сервер ASGI для части чат-бота, что потребует поддержки двух серверов (вместе с WSGI), что немного усложнит реализациюнемного сложно.

Что мне делать дальше?

PS Кто-то посоветовал мне посмотреть такие сервисы, как Pusher , хотя, похоже, у него нет серверного SDK дляпитон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...