High performance
System Analysis and Design
Lua
Comments 11
-3
> А можно обойтись без него?
Да можно, например взять http://reactphp.org/
-1
А можно воспользоваться специализированным решением, например, https://github.com/postHawk/ и не нагружать nginx
+1
А можно вообще заточить все под свои нужды, используя https://github.com/warmcat/libwebsockets будет быстрее и могу реализовать даже без Редиса, но надо ли оно, если трудозатраты на разработку lua скрипта ушло 1-2 дня.

А теперь, подумай, как будешь не нагружая nginx проксировать на postHawk? Использовать другие порты, как -то не кошерно, и поднимать еще один сервер и пулить на поддомен, тоже как -то не вариант.
0
Очень просто сервер запускается на указанном порту указанного домена и слушает его. Не вижу проблемы открыть один порт, на котором будет висеть демон.
0
Конечно, проблемы нет открыть еще один порт, но как бы правильно, что все что связано с HTTP было на 80 порту.
0
Как говорит википедия
WebSocket — протокол полнодуплексной связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени.

Я согласен, что handshake идёт по http, но на этом он (http) и заканчивается. Поэтому не вижу ничего криминального слушать другой порт. А вообще дело ваше.
+1
Спасибо, как раз скоро придётся решать такую задачу. У меня вопрос есть. Сколько клиентов обслуживает и на какой машине это работает?
-1
Честно говоря, у меня ответы от внешнего сервиса приходят не так быстро, по этому одновременно находится где-то 100-200 клиентов, специально не считал.

машина: 2 процессора Xeon E5-2620v3 2.0 ГГц 12 ядер: nginx + php + redis + MySQL

Я подумаю, как лучше провести нагрузочное тестирование, и сообщу результаты. Тут свои проблемы: подакшен нагружать нельзя, а на площадке разработчика — получатся другие данные. Очевидно, цель узнать, будет ли держать более 10К? Для этого сильный процессор не нужен… Попробую запустить туеву кучу клиентов…

-1
mosquitto прекрасно поддерживает mqtt через вебсокеты. что ещё надо?
0
Ответ немного не в тему,
в статье прямым текстом сказано, не хотелось бы вводить новую сущность, а редис уже активно используется, да и потом, mosquitto опять через nginx проксировать надо.

Если бы можно было заменить редис, то я бы поменял его на Tarantool, и поженил бы Tarantool с web-сокетами.
Tarantool и кеширование данных, и сервер очередей, и прямое общение с nginx и поиск по гео-индексу и все в одном флаконе
Only those users with full accounts are able to leave comments., please.