PHP 和 Symfony 的 Websockets - 网络和服务器架构
Websockets with PHP and Symfony - network and server architecture
我们有一个 Web 应用程序,目前使用轮询来处理持续更新。
虽然切换到长轮询可能是解决问题的小创可贴,但我们希望实施一个持久且可扩展的 Websockets 解决方案。
我的问题是:为此需要什么样的架构?
我自己做了一些研究,发现企业应用程序的典型设置是这样的:
连接的执行流程将是这样的:
- 初始握手
- 客户端向
Server
发出 HTTP
请求,连同 JS 请求 Websocket 连接
Server
响应,Header
包含 Upgrade
指令并为该客户端切换协议
- Websocket 服务器与客户端建立
Websocket
连接
- 客户提交
POST
/PUT
/等。
Webserver
(Apache/Nginx) 从查询中获取结果
Webserver
将结果发送到 MQ
并添加到队列
Message
从 MQ
发送到 Websocket
服务器
Message
发回客户端
这种做法正确吗?我错过了什么吗?我是不是理解有误?
试着看看这个:socketo.me
有点给你一个想法。据我所知,这与您在发布的架构图中所设想的非常相似。
这个Whosebug question's answer可能也值得一看。
你试过了吗GOS WebSocketBundle?
我已经在生产站点上使用它来处理聊天,并与 stunnel 一起在 SSL 上完美运行。
我们有一个 Web 应用程序,目前使用轮询来处理持续更新。
虽然切换到长轮询可能是解决问题的小创可贴,但我们希望实施一个持久且可扩展的 Websockets 解决方案。
我的问题是:为此需要什么样的架构?
我自己做了一些研究,发现企业应用程序的典型设置是这样的:
连接的执行流程将是这样的:
- 初始握手
- 客户端向
Server
发出HTTP
请求,连同 JS 请求 Websocket 连接 Server
响应,Header
包含Upgrade
指令并为该客户端切换协议- Websocket 服务器与客户端建立
Websocket
连接
- 客户端向
- 客户提交
POST
/PUT
/等。Webserver
(Apache/Nginx) 从查询中获取结果Webserver
将结果发送到MQ
并添加到队列Message
从MQ
发送到 Message
发回客户端
Websocket
服务器
这种做法正确吗?我错过了什么吗?我是不是理解有误?
试着看看这个:socketo.me
有点给你一个想法。据我所知,这与您在发布的架构图中所设想的非常相似。
这个Whosebug question's answer可能也值得一看。
你试过了吗GOS WebSocketBundle? 我已经在生产站点上使用它来处理聊天,并与 stunnel 一起在 SSL 上完美运行。