2

開発中のサイトが将来的に大幅に成長する (数百万人のユーザーなど) と予想される場合、フィード (ユーザーのアクティビティ) をどのように管理すればよいですか?

  1. すべてのユーザー アクティビティに対して、いくつかのフィード テーブルに手動でフィード レコードを作成します。
  2. その瞬間のフィードを推測する

具体的な例は次のとおりです。
ユーザーは他のユーザー (Twitter など) にフォローされ、何かを作成することができます。ものを作成すると、このものには CreationDate などがあります。結合を使用するか、誰かが私をフォローしなくなった場合に備えて更新する必要がある Feeds テーブルを使用するだけで、フォロワーにフィードを提供できます。

明らかに (1) は維持するのが難しいが、より高速であり、(2) はより簡単ですが、可視性のために結合を行う非常に多くのユーザーを処理できるかどうかはわかりません...

Facebookはどのようにそれを行うのですか?またはツイッター?

4

3 に答える 3

0

これを処理するサービスを探している場合は、Collabinate ( http://www.collabinate.com ) が探しているものかもしれません。エンティティごとにアクティビティ ストリームを作成し、ユーザーにエンティティをフォローさせ、ユーザーのリアルタイム フィードを取得するための API を提供します。見ているサイズに合わせてスケーリングするように作られています。完全な開示: 私は Collabinate の作成者です。

于 2013-06-19T02:17:10.410 に答える