YouTube規模での配信を可能にする技術ですか?


34

私たちが知っているように、YouTubeは巨大です。ビデオごとに少なくとも2メガバイトをストリーミングする数千の同時ユーザーがいます。明らかに、これは大量のトラフィックになります... 1台のサーバーには多すぎます。

1日に40億本の動画をプッシュできるネットワーク技術は何ですか?

回答:


51

バックエンドでのスケーリング

非常に単純な設定では、1つのDNSエントリが1つのサーバーに属する1つのIPに送信されます。世界中の誰もがその単一のマシンに行きます。十分なトラフィックがあると、YouTubeのサイズに達する前に処理するには多すぎます。簡単なシナリオでは、ロードバランサーを追加します。ロードバランサーの仕事は、トラフィックを1つのサーバーとして表示しながら、さまざまなバックエンドサーバーにリダイレクトすることです。

YouTubeと同じくらいのデータがあると、すべてのサーバーがすべてのビデオを提供できると期待するのは多すぎるので、追加するインダイレクションのレイヤーがあります:sharding。考案された例では、1つのサーバーが「A」で始まるすべてを担当し、別のサーバーが「B」を所有するなどの責任を負います。

エッジを近づける

ただし、最終的には帯域幅が激しくなり、大量のデータを1つの部屋に移動します。だから、私たちは非常に人気があるので、その部屋から移動します。ここで重要な2つの技術は、Content Distribution NetworksとAnycastingです。

世界中でこの大きな静的ファイルが要求されているところでは、ホスティングサーバーへの直接リンクを指すのをやめます。代わりに、CDNサーバーへのリンクを作成します。誰かがビデオを見るように頼むとき、彼らは私のCDNサーバーにそれを求めます。CDNは、ビデオを既に持っているか、ホスティングサーバーからコピーを要求するか、またはリダイレクトする責任があります。これは、ネットワークのアーキテクチャによって異なります。

そのCDNはどのように役立ちますか?実際、1つのIPは実際には世界中の多くの場所にある多くのサーバーに属している可能性があります。要求がコンピューターを離れてISPに送信されると、ルーターはそのIPに最適なパス(最短、最短、最小のコスト...メトリック)をマッピングします。多くの場合、CDNの場合、最も近いTier 1ネットワーク上またはその隣にあります。

それで、YouTubeからビデオをリクエストしました。それが保存された実際のマシンは、少なくともiad09s12.v12.lscache8.c.youtube.comtc.v19.cache5.c.youtube.comです。これらは、私が見ている私のWebページのソースに表示され、何らかの形式のインデックスサーバーによって提供されました。今、メイン州から、tc19サーバーがフロリダ州ミアマにあることがわかりました。ワシントンから、tc19サーバーがカリフォルニア州サンノゼにあることがわかりました。


4
シャーディングの不自然な例は、私が見た中で最高です。誰もが何らかの理由でこの単純な概念から大きな複雑さを作り出しているようです。
kizzx2

@ジェフ、引用を追加するか、これがエンドユーザーの憶測であることを明確にすれば素晴らしいでしょう。
Pacerier

23

大規模なサイトではいくつかの手法が使用されます。

www.youtube.com ->任意の数のIPアドレス

DNSを見てみましょう。

www.youtube.com is an alias for youtube-ui.l.google.com.
youtube-ui.l.google.com has address 74.125.226.14
youtube-ui.l.google.com has address 74.125.226.0
youtube-ui.l.google.com has address 74.125.226.1
youtube-ui.l.google.com has address 74.125.226.2
youtube-ui.l.google.com has address 74.125.226.3
youtube-ui.l.google.com has address 74.125.226.4
youtube-ui.l.google.com has address 74.125.226.5
youtube-ui.l.google.com has address 74.125.226.6
youtube-ui.l.google.com has address 74.125.226.7
youtube-ui.l.google.com has address 74.125.226.8
youtube-ui.l.google.com has address 74.125.226.9
youtube-ui.l.google.com has IPv6 address 2001:4860:800f::88

したがって、www.youtube.comは実際には複数のIPアドレスにアクセスできます。

エニーキャストIPアドレス

1つのIPを任意の数の自律システム(インターネット上のネットワーク)で同時に処理できます。たとえば、ルートDNSサーバーの多くとGoogleの8.8.8.8DNSサーバーは、世界中の多くの場所でエニーキャストされています。アイデアは、米国にいる場合は米国のネットワークにアクセスし、英国にいる場合は英国のネットワークにアクセスするというものです。

別のサーバーからのメディア

あなたがにいるからといってwww.youtube.com、それはすべてのコンテンツが同じサーバーから来なければならないという意味ではありません。このサイトでは、のsstatic.net代わりに静的リソースが提供されていますserverfault.com

たとえば、Kaley CuocoのSlave Leia PSAを見ると、メディアはによって提供されていることがわかりますv10.lscache5.c.youtube.com

複数のインターネット接続

Youtubeには複数のインターネット接続があります。他のすべての手法にもかかわらず、Youtubeが実際に単一のサイトと単一のサーバーであったとしても、理論的には、YouTubeがビデオを提供していた他のすべてのネットワークに接続できます。現実の世界ではそれはもちろん不可能ですが、考えを考慮してください。

これらのアイデアのいずれかまたはすべて(およびそれ以上)を使用して、コンテンツ配信ネットワークをサポートできます。詳細を知りたい場合は、その記事を読んでください。


「理論的には、ビデオを配信していた他のすべてのネットワークに接続できます。実際には、それはもちろん不可能ですが、アイデアを検討してください。」なぜ実際には不可能なのですか?多くのインターネットプロバイダーを購読することができます
user1034912

35,000以上の個別のネットワークへの独立した接続が本当に必要ですか?実用的ではありません。
MikeyB

12

YouTube(別名Google)にはサーバーが1つしかないと想像するのは間違っています。このインフォグラフィックは、そのサービスを支援するシステムの規模を説明するのに役立ちます。

1つのポイントオブプレゼンスしかない場合でも、ロードバランサーなどのツールを使用して、単一の名前、さらにはIPの背後に複数のサーバーを絶対に配置できます。

しかし、Googleには非常に多くの存在点があり、AnyCastのようなツールを使用します-AnyCast-インターネット上の複数の場所で同じIPを公開し、それを所有する最も近いサーバープールに人々をルーティングする技術-インフラストラクチャをバックアップするためのテクニック。


1
Googleはどのようにして世界中に100万台のサーバーを配置していますか?彼らはサーバーを借りますか?それらすべてのサードパーティサーバーを管理するデータセキュリティを維持することは困難ではないでしょうか?
user1034912

2
彼らはそれらの一つ一つを所有しています。真剣に、彼らは購入する-まあ、作る、最近-それら。これは、ある意味では想像するほどの費用がかかりますが、他の場合はそれよりも少なくなります。
ダニエルピットマン

1
investor.google.com/financial/tables.htmlが役立つ場合があります。2011年第4四半期、1万ドルから数百万ドルが流入しました。真剣に、彼らは想像できない規模です。
ダニエルピットマン

2
@ user1034912-はい、驚異的です。しかし、これはGoogleなので、なぜ地獄ではないのですか?世界中に数千のデータセンターがありますが、Googleはたまたまそれらのほんの一部を運用しています。
tombull89

1
@Tomtom-サーバーテクノロジーに不慣れなユーザーにとって、なぜ信じられないのですか?グーグルが何百ものサーバーを持っていることを知らない人が岩の下に住んでいると言うのは失礼で非常に不快です。外に出て、一握りの定期的な非技術者に尋ねると、彼らはGoogleのサーバーの規模やそれらが何であるかさえ知らないことを保証します。また、通常の人は通常バランスシートを閲覧しますか?データセンターに関するすべてのニュースを常に読む必要がありますか?正直なところ、私はあなたがどれだけの担当者を持っているかは気にしませんが、失礼で、無礼で、卑劣であることは、あなたを人生のどこにも行かせません。
-DMan

3

ネットワークの側面について少し触れます。Googleは、世界中の73のユニークなデータセンター(独自のデータセンターを除く)にPoint of Presence(PoP)を持っています。彼らは69のユニークなインターネット交換のメンバーです。Googleは、peeringdbにリストされている他のネットワークよりも多くのデータセンターとインターネットエクスチェンジポイントにあります。

Googleの総インターネット交換容量は> 1.5Tbpsであり、その1.5TbpsはGoogleとのトラフィックが100Mbpsを超えるネットワーク用に予約されていますが、2〜3Gbps程度とは思いません。あなたが持っている後は「十分な量」を、あなたはプライベートピアリング(PNI)に移動されます。

インターネットエクスチェンジピアリングとプライベートピアリング(AS15169を使用)に加えて、YouTubeは中継ネットワークAS43515、および有料ピアリング/オーバーフロー用の別のネットワークAS36040も運用しています。Google は、ISPがネットワーク内でさらにローカルに展開できるように、Googleグローバルキャッシュサーバーも運用しています。(peeringdbからのデータ、bgp.he.net)。

私の経験に基づいて、YouTubeはIPジオロケーションやエニーキャストだけでなく、ビデオを配信する場所を選択するために多くのものを使用していると思います。

Googleは巨大なグローバルバックボーンネットワークを運営し、ダークファイバーを所有し海底ケーブルに資金を提供しています。YouTubeが生成するトラフィックの量は膨大です!YouTubeのピークトラフィック量は12Tbpsを超えると思います。Googleは、すべてのドメイン間インターネットトラフィックの少なくとも7%(おそらく10%以上)を占めています。

したがって、ネットワークの観点からあなたの質問に実際に答えるには、YouTubeのように拡張するために、地上のファイバーからWDMギア、ルーターに至るまで、ネットワークに大規模な投資をする必要があります。コンテンツとネットワークをできるだけユーザーに近づける必要があります。これは通常、ピアリング、IX、および多分少しの中継を意味します。トラフィックを可能な限り均等に分散して安価に保つために、コンテンツの取得元をインテリジェントにユーザーに伝えることができる必要があります。そしてもちろん、1日40億ビューを保存、処理、変換、配信するための大規模なサーバーインフラストラクチャが必要です。

サーバー側に興味がある場合は、最近リリースされたデータセンターの画像の一部を分類したブログ投稿を書きました。


ところで、Googleで働いていますか?
Pacerier

2

大規模システムとこれらの企業が使用するテクノロジーについて詳しく知りたい場合は、http://highscalability.comが最適なソースです。

GoogleやAkamaiのような大企業は、常に独自に作成/作成したコンポーネントを持っています。(たとえば、アカマイはサービス用のWebサーバーを開発しました)


ただし、一部のデータは古くなっています
。...-Pacerier
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.