如何实现一个低频低消息率的浏览器推送



我们想要进入推送技术,我们的用例如下:

  • 大量的客户端同时存在(几个100000)
  • 低消息速率(~ 1/分钟)
  • 小数据(<500字节/消息)
  • 延迟小于2秒

现在我们有两个相互竞争的解决方案:

  1. 我们可以建立一个真正的websocket/longpolling服务器集群(我们将评估atmosphere, playframework和socket)。IO上的节点或顶点。x);这将导致多个100,000套接字同时处于活动状态,几乎所有套接字都处于空闲状态(除了25% IE不断重新建立长轮询连接);

  2. 我们可以使用静态json文件后面缓存web服务器(invalidatable)作为经典轮询的端点;这将导致来自浏览器的100,000个请求/秒,几乎所有请求的响应结果代码都是304。

你会提出哪个解决方案?特别是在资源消耗方面:cpu、内存、流量、io?

我们使用了一个非常简单的方法:

浏览器对通过akamai分发的静态文件进行周期性ajax轮询。所以很少有请求到达我们的后端。文件的缓存时间设置为5秒,轮询间隔设置为5秒。

它不是很优雅,也不是实时的,但它适合我们的用例

相关内容

  • 没有找到相关文章

最新更新