大規模な Web サイトにおける高同時アクセスや大量のデータ処理シナリオの増加に伴い、Web サイトの高可用性、スケーラビリティ、拡張性、セキュリティという目標を達成することがますます重要になっています。こうした一連の問題を解決するために、大規模 Web サイトのアーキテクチャは常に進化しています。大規模 Web サイトの高可用性アーキテクチャを改善するには、分散について言及する必要があります。この記事では、分散システムの概念、分散システムの特徴、一般的に使用される分散ソリューション、分散とクラスターの違いについて簡単に説明します。 これは私が以前ブログに投稿した記事です。最近分散案件の記事を充実させていこうと思っているので、まだ読んでいない友人のために公式アカウントに基本的な記事を再度投稿します。 1. 分散システムについて学ぶ前に、まず対応する集中型システムがどのようなものかを理解することが重要です。 集中型システムは、1 つのホストと複数の端末という 1 つの文で要約できます。端末にはデータ処理機能はなく、データの入出力のみを担当します。すべての計算と保存はホスト上で実行されます。 電子商取引モールを例に挙げてみましょう。集中型システムの電子商取引モールは、ホスト上に展開され、外部にサービスを提供するアプリケーションを通じて実装されます。すべてのユーザー操作は、この 1 台のマシン上の 1 つのアプリケーションを通じて実行されます。 集中型システムの最大の特徴は、その展開構造が非常にシンプルで、基盤層では一般的に IBM や HP などのメーカーから購入した高価なメインフレームが使用されることです。したがって、複数のノードにサービスを展開する方法を考慮する必要はなく、ノード間の分散コラボレーションを考慮する必要もありません。 ただし、単一マシン展開を使用しているためです。大規模で複雑なシステム、困難なメンテナンス、単一点障害(単一点障害が発生すると、システム全体またはネットワーク全体に影響が及び、システム全体またはネットワークが麻痺する)、スケーラビリティの低下などの問題につながる可能性があります。 2. 分散システム 『分散システムの概念と設計』という書籍では、分散システムについて次のように定義されています。
簡単に言えば、外部に対して共同でサービスを提供する独立したコンピュータのグループですが、システムのユーザーにとっては、サービスを提供する単一のコンピュータのようなものです。 分散とは、高価なメインフレームと比較して、より一般的なコンピューターを使用して分散クラスターを形成し、外部サービスを提供できることを意味します。コンピュータの数が増えると、CPU、メモリ、ストレージリソースなどが増え、処理できる同時アクセスの量も増えます。 分散システムによって実装された電子商取引モールは、機能的に複数のアプリケーションに分割され、それぞれが異なる機能を提供し、外部サービスを提供する分散システムを形成する場合があります。 システム内のさまざまなサブシステムは、非同期メッセージや RPC/HTTP 要求呼び出しなど、ネットワークを介して通信および調整を行います。 したがって、分散システム内のコンピュータには空間的な制限はほとんどありません。これらのコンピューターは、異なるキャビネットに配置され、異なるコンピューター室に配備されたり、異なる都市に配備されたりする場合があります。大規模な Web サイトの場合は、異なる国や地域に分散されることもあります。 ただし、空間内でどのように分散されるかに関係なく、標準的な分散システムには次の主な特性が必要です。 分布 分散システム内の複数のコンピューターは、空間的に任意に分散できます。システムにはマスター コンピュータとスレーブ コンピュータの区別はありません。つまり、システム全体を制御するホスト コンピュータはなく、制御されるスレーブ コンピュータもありません。 透明性 システム リソースはすべてのコンピューターで共有されます。各コンピュータのユーザーは、ローカルコンピュータのリソースだけでなく、分散システム内の他のコンピュータのリソース(CPU、ファイル、プリンタなど)も使用できます。 身元 システム内の複数のコンピューターが相互に連携して共通のタスクを完了したり、プログラムを複数のコンピューターに分散して並行して実行したりできます。 コミュニケーション システム内の任意の 2 台のコンピューターは、通信を通じて情報を交換できます。 集中型システムと比較すると、分散型システムはコスト効率が高く、処理能力が強く、信頼性が高く、スケーラビリティに優れています。 ただし、分散によって Web サイトの同時実行性の問題は解決されますが、他のいくつかの問題も発生します。 まず、配信に必要な条件はネットワークであり、これはパフォーマンスやサービス機能に一定の影響を及ぼす可能性があります。第二に、クラスター内のサーバーの数が増えるほど、サーバーのダウンタイムの可能性が高くなります。さらに、サービスはクラスター内に分散して展開されるため、ユーザーのリクエストはマシンの 1 つにのみ送信されるため、適切に処理されないと、データの一貫性の問題が簡単に発生します。 3. 一般的に使用される分散ソリューション 分散アプリケーションとサービス アプリケーションとサービスは階層化およびセグメント化され、アプリケーション モジュールとサービス モジュールは分散方式で展開されます。これにより、同時アクセス機能が向上し、データベース接続とリソース消費が削減されるだけでなく、さまざまなアプリケーションで共通のサービスを再利用できるようになり、ビジネスの拡大が容易になります。 分散静的リソース JS、CSS、画像などの Web サイトの静的リソースを分散展開すると、アプリケーション サーバーの負荷が軽減され、アクセス速度が向上します。 分散データとストレージ 大規模な Web サイトでは大量のデータを処理する必要があり、多くの場合、単一のコンピューターでは、このデータを分散して保存するのに十分なメモリ領域を提供できません。 分散コンピューティング コンピューティング技術の発展により、一部のアプリケーションでは完了するために膨大なコンピューティング能力が必要になります。集中コンピューティングを使用する場合、完了するまでにかなりの時間がかかります。分散コンピューティングでは、アプリケーションを多数の小さな部分に分割し、複数のコンピューターに分散して処理します。これにより、全体的な計算時間が節約され、計算効率が大幅に向上します。 4. 分散型とクラスター型 多くの人は分布とクラスターの概念をあまり明確に理解しておらず、混同しやすいです。簡単に区別すると次のようになります。 分散とは、さまざまなサービス モジュールが複数の異なるサーバーに展開され、リモート呼び出しを通じて連携して外部にサービスを提供することを意味します。 クラスターとは、同じアプリケーションまたはサービス モジュールを複数の異なるサーバーに展開してクラスターを形成し、負荷分散デバイスを通じて外部にサービスを提供することです。 |
<<: クラウドへのデータ移行: ダウンタイムと中断を回避する方法
>>: ハイブリッドクラウドを安全にする方法: IT プロフェッショナルが知っておくべきこと
Spark ビジネス グループ内のクラウド専門家である CCL の新しい調査によると、「コスト」と「...
今夜、偶然Pizhouフォーラムの投稿を見ました。求人の名称は「Meituan.com 邳州駅 月給...
デジタル変革の加速により、より多くのユーザーが必要なコンピューティング リソースを入手できるようにな...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス今日頭条、抖音、微頭条の...
losangelesvps は昨日、2 つの安価な VPS プロモーションを提供するメールを送信しま...
クラウド技術とインターネットの継続的な発展に伴い、クラウドコンピューティング技術もインターネットに合...
多くの組織は、クラウド コンピューティングの最初の経験が非常に良好であるため、プライベート クラウド...
IDC の調査によると、人工知能、5G、ネットワーク、IoT テクノロジーの急増により、エッジ ソリ...
Shuhost(ShuMai Technology)は、10月末から11月にかけて、在庫のあるE3シ...
「一貫性」という言葉は、分散システムに関連する説明でよく登場します。それはどういう意味ですか?序文分...
racknerdはどうですか? Racknerd は米国中部にダラスとシカゴの 2 つのデータセンタ...
ウェイト ページの概念は非常にシンプルです。Web サイト内で相対的に重みが高いページです。このよう...
インターネットでお金を稼ぐ秘密の方法はありません。中国人の本質は他人を真似ること、または率直に言えば...
中国証券監督管理委員会が発表した最新データによると、わが国の株式投資家の数は に達しています。この巨...
VirMachは、様々なシリーズのVPSを提供し、多くの実績を持つ新興企業です。以前、E3 シリーズ...