Websockets с PHP и Symfony-архитектура сети и сервера
у нас есть веб-приложение, которое в настоящее время использует опросы для обработки непрерывных обновлений.
при переключении на длинный опрос может быть небольшая полоса к проблеме, мы хотели реализовать решение Websockets, которое будет прочным и масштабируемым.
мой вопрос: какая архитектура потребуется для этого?
я сам провел некоторые исследования и обнаружил, что типичная настройка для корпоративного приложения что-то вроде этого:--24-->
поток выполнения соединения тогда был бы чем-то вроде этого:
- начальное квитирование
- клиент
HTTP
запросServer
вместе с JS запросить соединение Websocket -
Server
отвечает:Header
содержитUpgrade
директивы и переключает протоколы для этого клиента - сервер Websocket устанавливает
Websocket
связи с клиент
- клиент
- клиент отправляет
POST
/PUT
/ etc.-
Webserver
(Apache/Nginx) извлекает результат из запроса -
Webserver
отправляет результатMQ
, где он добавляется в очередь -
Message
отправленоWebsocket
сервер отMQ
-
Message
отправляется обратно клиенту
-
является ли этот подход правильным? Я что-то пропустил? Я что-то понимаю? неправильно?
2 ответов
попробуйте взглянуть на это:socketo.я ...
вроде дает вам идею. Из того, что я вижу, это довольно похоже на то, что вы представляли на диаграмме архитектуры, которую вы опубликовали.
возможно, также стоит посмотреть на это ответ на вопрос Stackoverflow.
вы пробовали гос. WebSocketBundle ? Я использовал его на производственном сайте для обработки чата, и вместе с stunnel он работает безупречно по SSL.