あなたが徹底的にCDNを理解したい場合はJavaプログラマは、これは十分なはずです!

あなたが徹底的にCDNを理解したい場合は、プログラマは、これは十分なはずです!
最近、エッジの計算の理解と私たちのCDNの一部は、多くの場合、エッジ・コンピューティングに聞かれることがわかりました。それはCDNに来るとき、それが唯一知っているようですので、中国では、コンテンツ配信ネットワークと呼ばれています。だから、特定のCDNの原理は何ですか?それは、サイトを閲覧中のユーザーをもたらすことができるように良いとは何ですか?この2つの問題を解決するため、この記事の目的です。

CDN概念
CDNフルネームは「コンテンツ配信ネットワーク」と呼ばれ、中国では、コンテンツ配信ネットワークと呼ばれます。

コンセプトは、提案されたインターネットサービスの品質を向上させるためにマサチューセッツ工科大学からのチームによって1996年に実際にCDNです。だから、最後には、インターネットサービス、それの品質を向上させる方法ですか?

原理分析
我々はドメイン名を使用してWebサイトにアクセスすると、実際には、要求パケットが(HTTPリクエストで、例えば)は、「www.baidu.com」をアクセスするときのように、サーバーにネットワーク経由で送信されることを知っています:

まず、ドメイン名(DNSの名前解決)に対応するIPアドレスが出て解析し
、その後のHTTP要求パケットがに対応するサーバのIPアドレスにネットワークを介してルーティングされ
、我々は通常、実際には非常に正確ではありません「サーバーのIPアドレス」、およびIPアドレスが言いますNICチーミング、サーバが複数のIPアドレスを持っている可能性がある複数のネットワークカードを持つことができます。

最初のステップで見てみましょう:DNS

DNS
二つのカテゴリーに解決ドメイン名に:

IPアドレスへのドメイン名
別のドメイン名にドメイン名
実際には、アイデアが解決するのは困難ではない、と私たちはドメイン名サービスプロバイダーにドメイン名を購入し、その後、あなたはIPアドレスをマッピングする必要があり、あなたは関係を表現するために地図を使用することができます:{ドメイン:IP}。

我々はまた、「www.baidu.com」エイリアス「test.baidu.com」として、ドメイン名のエイリアスを取ることができ、この関係は、地図で表すことができます{域名:别名}ここではほとんど知られていないプロの別名だCNAMEが、私はそれが何を意味するのかで、私たちはこの言葉に少しは慣れていると信じています。

そして、DNS、CNAMEは、実際に指定したIPアドレスに対応するドメイン名、またはドメインを解析しています。

DNSシステムによるドメイン名解決が要求からドメイン名を抽出し、DNSサービスは、外部の要求を受け入れ、責任があります、

これは、ドメイン名に対応するIPアドレスである場合、IPアドレスは、返された
CNAMEが対応するドメインであれば、CNAME、ドメイン名のIPアドレスを見つけ、その後、要求元の送信者にアドレスを返す続けます。
IPアドレスを取得するには、送信者を要求した後、実際のコール要求を完了します。

DNSシステムが効果にこのボックスがあり、ここでは開始されません、我々はブラックボックスとして扱い、実際には非常に大きく、それを表現するための簡単な図があり、前述しました。

CNAMEはそうではありません。

あなたが徹底的にCDNを理解したい場合は、プログラマは、これは十分なはずです!
そこCNAMEの例:

あなたが徹底的にCDNを理解したい場合は、プログラマは、これは十分なはずです!
特記事項:CNAMEのケースの場合、我々はそれを見ることができ、実際には、CDNを達成するための鍵となるドメイン名解決の過程で仲介CNAME(または代理人)の役割を引き受けました。

CDN原則
最初のCDNは、インターネットサービスの品質を向上させることです。実際に高速アクセスで人気のポイント。

サイトBaiduは今ラサのサーバは、その比較的比較的遅いアクセスを話す場合、サーバーは、より高速な一般的なアクセスには、その後、上海でもある場合にのみ、1台のサーバは、現在、上海ではBaiduへの人のアクセスがあったと仮定します。この問題の根本的な原因は、長いネットワーク伝送は、ネットワークケーブル、ネットワークケーブルに依存しているということですので、その時は確かに多くの年です。

それでは、どのようにこの問題を解決するには?実際には、アイデアは、国のBaiduはライン、少しプロと呼ばれる冗長性にまったく同じサーバーに配備され、非常に簡単です。

アイデアは非常に単純ですが、実装は非常に面倒で、サーバー上のリソースは2種類に分かれています:静的および動的リソースのリソース。

静的リソース:このリソースは、通常、写真、ビデオ、CSS、JavaScript、およびように非常に少しの変化であり、
動的なリソース:異なる時間のアクセスで別のユーザーにこのリソースは、FTL、JSPなどとして、しばしば同じではありません。
あなたは、各サーバが同じ動的リソースを持っている場合は、全国のサーバーの展開をBaiduのしたい場合は、データベースが、その後、この情報は通常、ダイナミックリソースレコードに格納されているのでだから、あなたはまた、データベースを構成する必要があるかもしれません、実際にクラスタ、今までクラスタアーキテクチャアップしている高価なプロの練習につながることができますようにデータの同期と、に関連する国がより主にコストあまりにも、クラスタ化することができないことを言っていない、3つの5のセンターであります高いです。

私たちは、5つの拠点のうち3つを知りたい、あなたがこの記事をhttps://mp.weixin.qq.com/s/uGyGldbwmShDDPDau5pAPw見ることができる、私はまた書きます。

物事の比較的低コストの方法がありますが、唯一の各サーバリソース静的にそこに配備され、静的リソースは、通常、データベースに関連するものではないので、コストは比較的低いですが、また、ユーザのアクセス速度を向上させます。

ここでは、この目的を達成するためにどのようにして、CDNの目的は達成したい説明?

あなたがCDNシステムを比較したい場合は今、我々は2つのことを考えることができます。

静的リソースサーバーのパフォーマンスと速度を格納するための方法をCDNシステム。
CDN国のシステムと世界的なサーバー・ノードと展開の偶数。
静的リソースの多くのサーバーノードならば最初のポイントはよくそう、これらの静的リソースがに到達するために「非常に遠く離れて実行」していないアクセスを各ユーザーに許可する、、、我々は理解することができるはず第二の点を理解されていますこれは、CDNシステムの自然な利点があります。

同社は今などアリ、テンセント、などCDNベンダーの多くは、独自のCDNサービスを持って、実際に存在し、この必要性を見ています。限り、あなたはこれらのメーカーが提供するCDNシステム・アクセス・サービスを所有するとして、あなたはあなたの静的なリソースは、これらの静的リソースが自動的に行くために世界中に配布されているCDNサービスを、渡さ置きます。

質問は今、静的リソースにアクセスするユーザは、ドメイン名を介してアクセス可能であるのでオーケー、ドメイン名は、特定のIPアドレスに解決されますが、重要な問題があり、DNSシステムが行う方法DNSは、オフユーザーを解析するとき最近のIPアドレスも。

一般的なDNSシステムは、不可能である特別なDNSサーバを必要とし、DNSは、この特別なを知っている必要があります

利用者の現在位置は
、ユーザーが現在のIPアドレスにアクセスすることができますし、IPアドレスが?何をしている先のドメイン名が対応するかを知る必要があり
、そのようなこのIPアドレスなど、ユーザーのIPアドレスでユーザの要求から直接抽出された第1の問題は良い解決策、については、をこれは、北京テレコム、上海モバイルとのように解決されます。

第二の問題は、CDNプロバイダは、誰によって、私たちは今、CDNを検討し、CDNプロバイダが自社のマシンとそのIPアドレスを展開している中での地域を知っていなければならないので、この問題が解決CDNプロバイダーすることができます解決され、この特別なDNSサーバを提供し、我々はCDN専用のDNSサーバと呼ばれます。

この場合には、限り、ユーザーが直接コンピュータのDNSアドレスを設定する場合、ユーザーは、アクセスの静的リソースにドメイン名を使用するようCDN DNSサーバー専用されています。だから、当然、我々は世界で自分のコンピュータのDNSアドレスを変更するすべてのユーザーを求めることはできません、問題を解決するため、我々は検討する必要があります。今回私たちはDNS CNAMEアップを使用する必要があります。

ユーザーがアクセス静的リソースにドメイン名を使用する場合は、ドメイン名「image.baidu.com」と呼ばれるCNAMEに対応し、「cdn.ali.com」として、(このドメインアリCDNサービス「ドメイン名を加速する」に言及) 、その後、一般的なDNSサーバ(DNSサーバ固有の違いCDN)の解析「image.baidu.comは」、「cdn.ali.com」は、通常のDNSサーバが対応するドメイン名を検出する最初の解決にもDNSサーバであるだろう、それは意志ドメイン名解決をDNSサーバに転送働いている、DNSサーバは、専用のCDN DNSサーバです。サーバーに記録されたアドレス情報に基づいて、すべてのCDNサーバCDN専用のDNSサーバ「cdn.ali.com」の解析、ユーザーに最も近いCDNサーバのアドレスを選択して、ユーザーに返さは、ユーザーが自分自身からアクセスすることができます最も最近のものCDNサーバ。

あなたが徹底的にCDNを理解したい場合は、プログラマは、これは十分なはずです!
注:
ドメイン名解決、最も一般的な例のために一度にレコードの多くの種類があります。

記録:IPアドレスのドメイン名が対応する
CNAME:別のドメインにドメイン名が対応する
NS:サブドメインを解決するために、別のDNSサーバーを指定し
、あなたが徹底的にCDNを理解したい場合は、プログラマは、これは十分なはずです!
要約
我々は見つけることができます上記の記事、私は特にネットワークに従事しておりませんので、CDNの原理はDNSに依存して実装し、そのテキストであっ不正確場合は、だけでなく、兄を喜ばせると述べました。

推奨の読み込み
金と銀の3四季、あなたの混乱に特化したJavaダニエルの「経験」を、作業アリ10歳)

流行、レイオフの顔の下に、3年間働いたJavaプログラマはここから行きますか?

おすすめ

転載: blog.51cto.com/14751386/2481143