`
lvhuiqing
  • 浏览: 244729 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

关于服务器推送

阅读更多
关于服务器推送

前一阶段一直在做服务器推送的技术调研,公司本来希望能够使用web server做一个消息服务器,使用http协议实现服务器到客户端的实时消息推送。做了一些技术调研成果暂记如下:

1, 使用场景:
可行开发的客户端软件,与服务器使用http协议交互信息。用户开机后,与服务器建立http连接,服务器判断是否有针对该用户的消息:升级信息、通知信息等。

2, 两条可行的技术路线:
a) 使用长轮询。客户端动作如下:开机---建立http请求---服务器判断,如果由消息则返回本次http响应---重新建立http请求。
b) 使用多次response应答。客户端与服务器建立连接后,如果有针对某个客户端的消息,则服务器将消息写到缓冲区,并清空缓冲区,这样客户端就可以实时得到应答。
c) 其他方式:Flash,ActiveX,Applet。

3, 两种技术路线优缺点对比:
a) 方式1,优点,整体方案实现简单,客户端实现简单。缺点:实时性差,对服务器的性能要求很高。
b) 方式2,优点:对服务器的性能要求相对较少,没想出来。缺点:复杂,不稳定。

4, 可行的方案:采用tomcat6.0的NIO形式实现方式1,使用一台普通pc机做压力测试,可以同时支持5000台终端同时访问。但是tomcat6.0存在不稳定的现象,当终端数量持续增加时,会发生当机现象。

5, 可能的改进:简单实用了Grizzly,性能应该会更好,但是需要修改grizzly的内核,编程比较复杂,而且参考资料相对较少。

6, 体会:是时候开始研究Grizzly了。
1
0
分享到:
评论
1 楼 wahahachuang8 2017-09-26  
GoEasy 实时推送支持IE6-IE11及大多数主流浏览器的推送,我们项目用的就是GoEasy推送,他们提供的OTP (one-time-password)能有效杜绝他人通过在页面上获取 appkey的方式,进行非法操作,十分安全!此外GoEasy目前除了在中国有服务器外还在美国,新加坡也开了服务器来支持外海推送的需求,据他们客服说接下来还会有更多的机房在世界各地……如果有全球推送需求的项目可以考虑它。

相关推荐

Global site tag (gtag.js) - Google Analytics