youtube.com
のA
レコードを調べると(たとえば)、IPアドレスが1つしか表示されません。
彼らが処理するトラフィックの量を考えると、これはどのように可能ですか?
彼らはエニーキャストをロードバランサーと一緒に使用していますか?
あなたが見ているものにおそらく貢献するいくつかの機能があります:
エニーキャストとジオバランシングは、ユーザーが複数のIPを目にすることなく負荷を分散するのに役立ちます。ロードバランサーは1つのデータセンター内の信頼性を向上させるため、これらの少数のIPが単一障害点になりにくいと期待されます。
コメントの質問と確認にもかかわらず、YouTubeのIPがさらに表示されます。
$ Dig youtube.com A
; <<>> Dig 9.8.1-P1 <<>> youtube.com A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 195
;; flags: qr rd ra; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;youtube.com. IN A
;; ANSWER SECTION:
youtube.com. 300 IN A 173.194.33.163
youtube.com. 300 IN A 173.194.33.164
youtube.com. 300 IN A 173.194.33.165
youtube.com. 300 IN A 173.194.33.166
youtube.com. 300 IN A 173.194.33.167
youtube.com. 300 IN A 173.194.33.168
youtube.com. 300 IN A 173.194.33.169
youtube.com. 300 IN A 173.194.33.174
youtube.com. 300 IN A 173.194.33.160
youtube.com. 300 IN A 173.194.33.161
youtube.com. 300 IN A 173.194.33.162
;; Query time: 14 msec
;; SERVER: 172.16.0.23#53(172.16.0.23)
;; WHEN: Wed Aug 26 23:45:18 2015
;; MSG SIZE rcvd: 205
YouTubeのような大規模なサイトでは、いくつかの戦略が使われています。
誰もが同じIPアドレスを取得するわけではありません。 DNSリクエストが異なると、返されるA
レコードも異なります。時々、地理的指標に基づいて異なるIPアドレスが返され(「あなたに近い」IPを取得します)、一部のバリエーションはロードバランシングのみを目的としています。
実際に「メイン」サイトに送られるリクエストはほとんどありません。 youtube.com
からリクエストされたページのアセンブルに入るすべてのリクエストを調べると、それらの大部分が他のドメインに送られ、それらは個別に処理されていることがわかります。
たくさんのロードバランサー。リクエストが単一のIPアドレスに到達すると、非常に効率的で非常にスケーラブルなロードバランサーがリクエストを非常に多数のフロントエンドウェブサーバーに送信します。
1つのリクエストを処理する多くのマシン。フロントエンドWebサーバーは、実際にリクエストを処理するために必要な作業をほとんど行いません。これらは主にHTTP解析とサーバーの層へのルーティング用ですmoreサーバーの各層は、各クラスターがページを生成する大規模なタスクの非常に小さく特殊な部分を実行します。私は手元にリファレンスはありませんが、数年前にGoogleのすべての検索リクエストにより、応答を生成するために100以上の個別のサーバーでコードが実行されるという記事を読んだことを覚えています。
少し問題が解決されることを願っています。他に質問がある場合は、コメントでの長いディスカッションではなく、厳密に指定された新しい質問を作成することをお勧めします。
Google/Youtube(および他の多くの企業、特にCDN)は、多くのISPとサーバーを同じ場所に配置し、DNSはそれらのサーバーのIPアドレスを返します。そのため、一部の人には1つのIPしか表示されず、他の人には12のIPが表示される場合があります。
そのため、表示されるサーバーは、実際にはGoogleデータセンターにあるのではなく、ISPのヘッドエンドがどこにあっても、自宅/オフィスから数マイルにある可能性があります。 tracerouteユーティリティ(WindowsではTracert)やリバースDNSを使用して、サーバーがどこにあるのかがわかる場合があります。
したがって、これらのサーバーは、世界中のすべてのトラフィックを処理するのではなく、1つの都市からのトラフィックだけを処理します。時には、その都市内の1つのISPからのみのトラフィックを処理します。
もちろん、それらのサーバーはall Googleの知識を保持していません。それらはフロントエンドであり、おそらくかなりのキャッシングなども持っています。 Wombleが説明したように、彼らが知らないことは何でも、Googleのデータセンターに転送されます。