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.
しかし、それは10,000人の友達をループするのはばかげているようです。しかし、他にどのようにそれを行うかは想像できません。または、次のようになります。
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ツイートが配列に挿入され、その人のフォロワーが数百万人の場合、同じツイートのセットの100万X20,000コピーが存在します。 。ですから、それもありそうもないようです。
誰かがそれをどのように行うことができるかについて何か考えがありますか?