В настоящее время в моем проекте django есть приложение chatbot, которое я хотел бы развернуть.
Я не уверен, стоит ли мне использовать WebSockets или обычные HTTP-вызовы (AJAX) для его реализации.Это то, что я понял о плюсах / минусах каждого (в контексте моего варианта использования) до настоящего времени после некоторых интернет-исследований.
Причины использования WebSockets по HTTP:
- WebSockets рекомендуются для приложений чата из-за низких издержек на сообщение пользователя после установления соединения.HTTP будет нести издержки на установление соединения при каждой отправке сообщения (также заголовок будет больше по размеру, который будет отправляться с каждым запросом / пользовательским сообщением)
- WebSockets обеспечивают связь в реальном времени без обходные пути как опрос в случае HTTP, который может привести ко многим ненужным запросам от клиента.
Причины использования HTTP через WebSockets:
- HTTP просто может быть в порядке для чат-бота (не чата человеку), потому что ответ чат-бота запускается только тогда, когда пользователь что-то сообщает, то есть бот не должен внезапно сообщать пользователюслучайные интервалы, которые потребовали бы связи в реальном времени.Бот отправляет только ответы на пользовательские сообщения.
- Придется использовать
django-channels
и сервер ASGI для части чат-бота, что потребует поддержки двух серверов (вместе с WSGI), что немного усложнит реализациюнемного сложно.
Что мне делать дальше?
PS Кто-то посоветовал мне посмотреть такие сервисы, как Pusher , хотя, похоже, у него нет серверного SDK дляпитон