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

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

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

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

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

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

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

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

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

 

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

 

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

 

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

 

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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值