Как добиться скорости в Laravel broadcasting?

Я пишу приложение на Laravel в котором необходимо асинхронно доставлять информацию пользователям (одновременно несколько десятков пользователей и около одного сообщения раз в несколько секунд).

Я сделал как предлагается в официальной документации связку с сервисом Pusher. Однако сообщения доставляются с задержкой около 1 секунды, что слишком долго для моих целей. На сколько я понял, задержка возникает в основном во время установки связи Laravel с Pusher.

Дополнительно в документации Laravel предлагается еще два варианта с установкой сервера у себя.
1. laravel-websockets - The laravel-websockets is a pure PHP, Pusher compatible websocket package for Laravel. (Но что то меня пугает использовать вебсокетный сервер на чистом PHP. Или зря?)
2. Связка Redis + Socket.IO (Какой то колхоз на первый взгляд)

Также я пробовал использовать сервис Firbase Realtime Database для доставки данных в реальном времени, но тут задержка данных еще дольше, около 2-3 секунд.

Что бы вы посоветовали использовать для броадкастинга. Очень важна надежность и скорость доставки должна быть менее 1 секунды.
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
Проблема не в пушере/файрбейсе/сокетах точно, не бывает таких задержек в нормальных условиях.

Проверяйте настройки, может конфиг как-нибудь через файлы, а не редис/пушер/очереди настроен или еще что.
Может интернет у вас такой.
И т.д.

Ищите источник задержки.

(одновременно несколько десятков пользователей и около одного сообщения раз в несколько секунд).

можно и аяксом обойтись, сервер не умрет от нескольких десятков запросов раз в несколько секунд.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы