我正在尝试设计一个类似Twitter时间线的系统,但是我无法理解如何在保持高效的情况下从这么多关注者那里获取更新。比方说,我在Twitter上关注了1000个人。当我进入我的动态时,它如何知道要向我展示哪些推文呢?以下是我的思考过程,但这似乎非常低效并且不太可能实现:
You have 10,000 friends.
In a for loop, loop through each friend, getting their latest
status updates since their last update.
但是循环遍历10000个好友的做法似乎有些荒谬。不过我无法想象他们还能用什么其他方式。或者可能会是这种情况:
Someone I am following posted a tweet. That tweet is inserted in
an array containing the tweets of all people I am following.
但是如果我关注了一个有20,000条推文的新用户,那么这20,000条推文将被插入我的数组中,而如果该用户有数百万的粉丝,则会有一百万个 X 20,000 条相同的推文副本。所以这也似乎不太可能。
有人有什么想法吗?