现在的位置: 首页 > 综合 > 正文

关于SNS消息推送的一点思考

2014年03月04日 ⁄ 综合 ⁄ 共 831字 ⁄ 字号 评论关闭

最近用Firebug观察了一些SNS网站的消息推送,其中注意到一处现象:每次消息推送给前端JavaScript的时候,都是把包含HTML的完整数据都推送过来,前端直接展现,而不是只推送关键数据由前端进行表现层组装。

一直不是很理解为什么要这么做~

1、按常理来说,网络中传输的数据应该越少越好,以节省带宽(比如js文件一般都要在书写上尽量精简压缩)。

2、数据放到客户端前端组装,还能减轻服务器端运算压力。

那为什么这些大型的SNS网站却都不这么做呢?

我认为原因是多方面的,这类SNS网站中一般需要推送的数据都具有很高的及时性,例如用户事件动态。那些大牛们做最终决定前肯定也综合权衡了各种方案的利弊,最主要的可能是考虑到效率问题。

数据交由前端JavaScript组装的话,解析DOM其实是个费时的操作,尤其是对于大页面。那数据有没有可能是放在后端组装的,数据库中依然只存关键的原数据?这一点我不是很确定,但是我认为这样不方便做缓存。放在后端组装,原数据用memcache之类做缓存的话,取出后还需要走组装这步,性能会打折扣,远不如直接读取来的高效。

这些效率可能要比带宽的减少更重要。加上这些事件消息基本只用于显示动态信息,大量过期数据除今后根据需要可能会有数据挖掘会用到外,几乎没有太多用途(或只有少量需要),所以可以考虑降低二次操作性,把带格式的数据直接写入数据库。

 

以上只是个人瞎猜,希望能有大虾来解惑~ 感激不尽~~~~~

 

-------------------------- (时间的分割线)--------------------------

 

今天又仔细思考了一些,并观察分析了白社会对新鲜事动态消息的合并处理,发现他们并不是直接从缓存中取数据进行展现,越来越觉得有后端组装的可能性。。。(好晕啊~_~)

 

-------------------------- (时间的分割线)--------------------------

 

我现在感觉他们采用的是折中的办法?!

抱歉!评论已关闭.