社交网络,如何构建“你有新的未读消息”架构

时间:2012-09-27 14:18:19

标签: ajax architecture social-networking web-architecture

例如,当我们在http://facebook.comhttp://gmail.com上收到新消息时,网站会向我们发送有关此消息的信号,而这一点没有刷新页面。这个怎么运作?我想象一下:

一些Jhon是网站上的注册用户。

有javascript代码,每10秒向消息表发送一次AJAX请求,用于检查:在表中,是否有未读的john消息(架构,如何标记就绪/未读消息,这里不重要),如果是,网站向Jhon发出信号“你有几条新消息”。

请告诉我,我是否更接近真相?如果是的话,我也有一个问题。

1 个答案:

答案 0 :(得分:1)

在现代网站中,我们使用websockets使服务器能够以更少的开销和无延迟将信息推送到浏览器。那是在SO上使用的。

但是作为some browsers still don't support them,我们有时必须回到你所描述的拉环。

在服务器上,可以在每个浏览器请求时使用队列而不是数据库查询来处理它。但是在这一点上可能存在许多不同的实现。