YouTubeのシステムアーキテクチャ

1であり、あなたはそれがサイトのアーキテクチャ設計で彼らの信頼を高めるために、YouTubeのアーキテクチャどのようなものであるか早期に学びます。この記事を読んで、12306のアーキテクチャの最適化のアイデアを、現在の平和を共有YouTubeのアーキテクチャを共有しています。

(上)のYouTubeサイトのアーキテクチャtucao
十億レベルのトラフィックのビデオサイトとしてのYouTubeは、そのサイトのメンテナンス担当者が少数あり、これらの技術者は、YouTubeのアーキテクチャを設計しているか、それはそれのような強力な圧縮機能を持っています、私たちは、その後、見下します。

コア技術のポイント
1)のApache:サイトサーバー
2)のPython:Webアプリケーションは、主にPythonがケリ使用されている
オペレーティングシステム(著者:なぜはSUSEのそれ)を選択します3)のLinux(SUSEの)
4)のMySQL:データベース
5)サイコを(著者:サイコをパイソンのC言語拡張)である
Apacheでいないビデオサーバ、lighttpdのを使用する代わりに選ん:6)lighttpdの

ウェブサービスポイント
1)を使用NetScalarロードバランシングと静的コンテンツをキャッシュは、(著者は:NetScalarは、一般的に、Webアプリケーションアクセラレーション、ロードバランシング、Webセキュリティ機能、等)で使用されるWebアプリケーション最適化ソリューションであり、
2)Apacheの使用mod_fast_cgiモード:(著者のFastCGI CGIモデルは、主に「フォークと実行」解決するために、批判された伝統的なCGIモデルのモデルプロセスの常駐である)
)3 Web要求をルーティングする責任Pythonのサービスで構成されています(ライター:nginxのは、その時点で非常に人気になっていません)
複雑な計算4)CPU集約型、使用サイコは(私はC言語を使用するには:Pythonはこれが本当に正しい技術選択もある)
5)Webページのキャッシュ層行う
6)データは、データ層キャッシングない
いくつかのデータのための)7を、事前に計算されていない、とローカルキャッシュの形成が、この最適化のない大規模なアプリケーション

Webサービスの有効性
1)は、サーバー拡張機能が追加することにより、水平にすることができ
)なぜそれをPHP選択しない:2)を選択Pythonは、その高い開発効率の、インターネット、急速な反復と頻繁に発行する能力の時代は、あなたが知っている(私は
3 )Pythonコード効率がボトルネック、WebサービスのRPC要求(作者のボトルネックではありません。意味は、Webアプリケーションのボトルネックやバックエンド)
未満100ミリ秒(4)応答時間制御著者:見直されていません)

ビデオサービスポイント
1)各ビデオは複数のマシンに保存されているが、クラスタリングの小さなクラスタAの利益に保管され:高い読み取り性能のB:可用性の高いC:オンラインデータバックアップ(作者:その時代、ビデオのレプリカは、より高度な技術)である
アパッチすぎB:Webサーバーlighttpdの映像として2)使用、lighttpdのは利点があるがepollをモードC:プロセス・モデルは、しかし、YouTubeはもっと扱いしたいと考えているかを同時接続
CDN上の一般的なビデオで3)
4)の一般的なビデオは、この場合にはPVが20ビデオより低い、最適化XXOO(著者への技術の使用:この場所は分かりませんが、元は「あまり人気コンテンツがでYouTubeのサーバを使用している様々な結腸サイト「この」COLOは、「あなたが知っていれば手段は、私へのメッセージ)してくださいということを理解していない
ビデオの特殊な性質のために5)は、ルーターなどのサーバとエンドユーザデバイス間で最小限に抑え、スイッチ
SATAディスク付き)6ランダム最適化を追求します

ビデオプレビューポイント
、単一のクラスタストレージプレビュー(作者との1):ファイルシステム上のあなたは右、プレビューが存在することであると思います)
2)を使用すると、Apacheのフロントエンドとしてイカ(著者:イカは、一般的なWebサーバーの抗あります)エージェントに、多くの場合、静的なファイルアクセスを高速化するために使用さ、キャッシュサービスのバーとして理解
プレビューBigTableの保存を行うために、将来的に使用する準備ができて)3

データベース点
MySQLを使用して、1)データベースは、もちろん、それが唯一のメタデータを格納するために使用されている
2)、アプリケーション、単一のマスタースレーブスルーのYouTube、分割レベルの処理として他の部位
3)プライマリ・サーバ・マシンのハードウェアよりよい条件、マルチプロセス、複数のインスタンスのパターンを使用して、サーバからのハードウェア条件を使用して、ほぼ機械を、シングルトンパターンを使用して、
4)別個の読み出し及び書き込みを

レッスンは学んだ
)1を、リスク、注意する必要がありますの短期的な問題を解決するための革新的なソリューションをその勝利を主張しました。常に主張している、長期的な解決策を見つけることができなければなりません
アドレスへの主要な矛盾やフォーカス資源見つけるため2)
このようなYouTubeのCDNなど、プロジェクトの重要な一部外部委託することを恐れてはいけない、3)選択的な協力を
言ってあまりない、シンプルなアイデアから、それをシンプルに保つ)4を
5)データが分離され、分割レベル
ソフトウェア層、オペレーティングシステム層、ハードウェア層を含む6)反復ボトルネックの最適化、
7)が成功したチームの礎石であります

公開された136元の記事 ウォンの賞賛6 ビュー1517

おすすめ

転載: blog.csdn.net/weixin_42073629/article/details/104603326