在诸如Twitter之类的社交网络上,有数百万人关注单个帐户,在发布新推文时立即更新所有关注者必须非常具有挑战性。同样,在Facebook上,粉丝页面上有数百万的关注者,发布在页面上时,我们会立即看到他们的更新。我想知道什么是最知名的技术和算法来实现这一目标。我知道有数十亿个帐户,它们在全球拥有庞大的数据中心,即使我们仅按照以下方式减少一台计算机的问题-100,000个节点,每个节点平均200个边缘,那么每个单节点更新将需要200个边缘更新。那么什么是最佳的技术/算法来优化如此大的更新。谢谢!
答案 0 :(得分:0)
最好的方法通常是进行所有更新。您说可以“立即”看到它们,但是实际上更新可能会通过网络传播,并且可能需要花费几秒钟的时间才能显示在关注者的供稿中。
必须进行所有这些更新似乎很多,但是平均而言,追随者检查更新的频率要比被跟踪者产生更新的频率高得多,并且检查更新的速度必须更快。
选择是:
每天几秒钟内更新数百万的关注者;或
每天在1/10秒左右的时间内响应100万名追随者的支票,几百次。
有一些涉及将用户和内容聚类的中间策略,但是您在Facebook和Twitter上看到的使用模式可能偏重于选项(1),以至于这种策略不会奏效。