第16章. ソーシャルネットワークとニュースフィードシステムをデザインする
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
Twitter(現在はX)、Instagram、LinkedInなどのWebサイト()は、人々の生活に欠かせないものとなっており、ほとんどのユーザが他の人々と情報を共有するために活用している。この情報は、各プラットフォームで投稿と呼ばれることが多く、テキスト、画像、動画、絵文字などで共有することができる。
ソーシャル・ネットワーキング・サイトは様々な機能を提供しているが、ここでは特に、ニュースフィード(またはユーザータイムライン-この2つの用語は同じ意味で使用する)システムのコンポーネントのデザインについて深く掘り下げていく。ニュースフィードとは 、ユーザがソーシャルメディアアプリにログインするとすぐに目にする、他のユーザによって公開された投稿やアップデートのストリームのことである。ユーザは、絵文字やテキストレスポンスでこれらの投稿と対話したり、自分のフィードで投稿を共有することもできる。各Webサイトのニュースフィードは、様々な要因に基づいて導き出される。システム要件から議論を始め、これらの要件をサポートするシステムコンポーネントの特定に進む。AWSクラウド上のソーシャルネットワークニュースフィードシステムの可能性のあるアーキテクチャで章を終える。
システム要件
ソーシャルネットワーキング Webサイトは、共有される投稿(テキスト、画像、ビデオ)、ビルトインチャットメッセンジャー、通常24時間で失効するユーザストーリーなど、様々な機能を提供している。各機能は独立したシステムであることもある。例えば、19章で説明するチャットメッセンジャーがそうだ。とりあえず、ニュースフィードシステムの機能要件と非機能要件を掘り下げてみよう。
機能要件と非機能要件
、前述したように、ソーシャル・ネットワーキング・サイトは多くの機能を提供しているので、私たちのサイトでは、これらの機能の一部をアーキテクトすることにデザインの範囲を限定することにする。この章の文脈で最も重要な機能要件は、ユーザにニュースフィードを反映することである。ニュースフィードは、単一のパラメータ、または以下のような要素の組み合わせに基づくことができる:
-
特定のハッシュタグ、トピック、または場所に関連するすべての投稿
-
ユーザがフォローしている人が公開したすべての投稿
-
ユーザがフォローしている人々によって「いいね!」またはシェアされたすべての投稿
-
全ての投稿は、ユーザの過去の興味や代入された優先順位(例えば、ニュース速報)に基づいて導き出される。これはMLコンポーネントを含むので、スペースの関係で詳細は省略する。
我々のシステムは、ユーザがフォローすることを選択した人々やトピック(またはハッシュタグ)に基づいて、ユーザのニュースフィードを作成する。この章では、ハッシュタグに基づく投稿の保存と検索(キーワードベースの検索)についてもある程度説明する。
ニュースフィード機能をサポートするためには、システムはこれらの機能要件を本質的にサポートする必要がある:
-
ユーザはシステムにオンボードし、個人的な興味に基づいて人やトピックをフォロー(またはフォロー解除)する。
-
ユーザは投稿をすることができる(例えば、インスタグラムで写真をアップロードしたり、Xにテキストベースの投稿をする)。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access