长连接,指在一个连接上可以连续发送多个
数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
短连接是指通讯双方有数据交互时,就建立一个连接,
数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。
长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况。每个
TCP连接都需要三步握手,这需要时间,如果每个操作都是短连接,再操作的话那么
处理速度会降低很多,所以每个操作完后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接,如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。
而像WEB网站的http服务一般都用
短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用
短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁操作情况下需用短连好。
手机
推送服务的原理很简单,就是通过建立一条手机与服务器的连接链路,当有消息需要发送到手机时,通过此链路发送即可。 推送服务的使用流程虽然略有差别但是大致都和IOS的
APNS相似
3、应用程序将deviceToken发送给PUSH
服务端程序。
推送方案的公认评价采取4s标准:1.Safe(安全) 2. Stable(稳定) 3.Save(省电
省流量省成本) 4.Slim(体积小)
推送方案的ID系统应该独立于已有的网站或服务的ID系统,这样保障用户在不同手机上登录后的信息投递
准确性,避免因为取消绑定事件失败因
网络传输而造成的信息误投送。
2. Stable(稳定)
- 服务稳定性 (一般要求全年99.9%以上可用,有备份,有
负载均衡等)
鉴于服务器稳定的开发难度很大,小团队不建议自己开发,建议使用稳定的第三方推送方案,如
个推,蝴蝶等。
手机端的稳定性,主要是因为中国的
复杂网络状况及手机型号适配情况造成手机长时间稳定联网较困难,所以稳定性非常重要,一般的评判标准包括:
省成本应考虑单服务器承载同时
连接数,可承载同时连接数越多成本越低,业内 顶尖水平为个推的单服务器50万连接