缓存WebSockets

时间:2014-05-28 18:19:32

标签: caching ssl websocket varnish haproxy

我想到的一个问题是,是否可以从头开始缓存网络套接字? 在我的拓扑结构中,我有一台Apache服务器(带有Google PageSpeed Module)位于HAProxy服务器后面,该服务器通过双ISP连接连接到互联网。我的用户正在使用xxx.com这边的动态和静态网页内容,目前还没有被缓存(因为清漆不支持SSL / TLS)

我的计划是将清漆放在运行HAProxy的同一台机器上,并使用它(清漆服务器)作为HAProxy的支持。

所以最后我会有这样的事情:

HAProxy(使用SSL)+清漆 - > Apache 1或Apache 2作为Web服务器后端 HAProxy(使用SSL) - > Jetty 1或Jetty 2作为websockets后端

Jetty连接到Jboss应用服务器,Mongo + MqSL + Neo4j作为数据库后端。

这将为我提供使用varnish缓存动态和静态连接的好方法,使用HAProxy保持SSL并保持我的拓扑清洁。

但是,我的解决方案中有另一个关键服务器: 我正在使用Jetty(使用cometd)进行Web套接字实现(我正在考虑使用Web-Stomp转移到Socket.io或SockJS),这是通过HAProxy路由的。

我通过OORT使用了Clustered Cometd,我想了解缓存此内容是否有任何意义,因为它认为是实时数据。 我问的原因是我正在考虑转向一些CDN解决方案以加快我的性能,但据我所知 - Websockets无法缓存所以这里的所有要点只是推动更多的静态和动态内容。

这是有意义还是我在这里输了什么?

由于 时髦

1 个答案:

答案 0 :(得分:1)

您可以通过缓存代理(不是所有支持)隧道网页框架,但缓存网页框本身不起作用,因为它们不适合用于缓存的必要方案,例如一个请求每次都会产生相同的响应。