Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
P.S. На остальные вопросы в этом топике, увы, отвечать не буду, потому что школота, неспособная понять простейший текст, успела снова слить мне карму.
Дмитрий, я не считаю, что нагромождение технологий — это упрощение.
ВНЕЗАПНО оказалось, что надо еще каким-то образом общаться между node.js и PHP. Правильно, давайте навернем еще сверху pubsub через редис.
Итак. У вас уже есть сайт на РНР. Вам нужно решить какую-то задачу. Вы почему-то взять node.js (хотя работа с вебсокетами в PHP более, чем возможна). ВНЕЗАПНО оказалось, что надо еще каким-то образом общаться между node.js и PHP. Правильно, давайте навернем еще сверху pubsub через редис.
А в топике общее описание идет в стиле «вот у нас есть куча разрозненного всего, мы это свяжем вместе костылями из говна и палок» с неожиданным выводом «это удобно и все упрощает!».
Прекращайте вестись на hype. Даже в рамках веб-сокетов это банальные запрос-ответ или стейт-машины.Я разве говорил про node.js? Я говорил просто про js. Вы, похоже, совсем не учитываете инструментарий языка при выборе решения задачи, а просто выбираете «что привычнее». Раз уже что-то написано на php, значит и дальше пишем на php, да? Но, я надеюсь, вам не надо объяснять всю колоссальную разницу между асинхронным программированием в php и js?
А зачем их разделять?Затем, что эти процессы могут работать физически на разных машинах (что на Клавогонках они в данный момент и делают). Да и вообще, простите, как можно не разделять php-процессы в данном случае?
По ряду причин я выбрал для этого node.js — событийно-ориентированная модель и хорошо развитые коллбэки в javascript идеально подошли для этой задачи.
Общей средой общения между php-бэкэндом и сервером на node.js стали pubsub-каналы redis.
Самой дорогой операцией оказался коннект/дисконнект. Вот и интересно, сколько их у вас в единицу времени? Если считали, конечно.
Непрерывный поток будет даже без сообщений. Потому что каждому клиенту Socket.IO посылает heartbeat и ожидает отклика. Ну при 30 коннектах в минуту в принципе еще все хорошо должно быть.

Вебсокеты: боевое применение