企業にとって、Web サイトは重要なポータルですが、Web サイトサーバーをホストする方法は企業のニーズに応じて異なります。
一般的に、大規模な Web サイトは小規模な Web サイトから開発され、初期段階の Web サイトのアーキテクチャは比較的単純です。ビジネスがより複雑になり、ユーザーの数が増加するにつれて、多くのアーキテクチャの改善が行われ始めます。小規模な Web サイトの場合、訪問者はそれほど多くなく、通常は 1 台のサーバーだけで十分です。このとき、アプリケーション、データベース、ファイルなどのすべてのリソースは 1 台のサーバー上にあります。
しかし、ウェブサイトのビジネスが発展し、ユーザー数が増加するにつれて、1 つのサーバーでは需要に対応できなくなります。多数のユーザーがシステムにアクセスするため、アクセス速度はますます遅くなり、データが徐々に増加するとストレージ容量も不足します。このとき、アプリケーションとデータを分離する必要があります。アプリケーションとデータを分離した後、Web サイト全体ではアプリケーション サーバー、ファイル サーバー、データベース サーバーの 3 つのサーバーが使用されます。これら 3 つのサーバーでは、ハードウェア リソースに対する要件がますます高まっており、これらのサーバーの動作をサポートするには、より強力な CPU、より高速なディスク、および大容量のメモリが必要になります。
ユーザー数が増加し続けるにつれて、Web サイトは再び課題に直面することになります。データベースに過剰な負荷がかかると、サイト全体のアクセス効率が低下し続け、ユーザー エクスペリエンスが影響を受けます。 Web サイトの場合、ほとんどのビジネス訪問はデータの 20% に集中することがよくあります。 Weibo を例に挙げると、最もリクエストが多い Weibo の投稿は間違いなく数千万人のファンを持つ大手 V の投稿です。一方、こうした小規模アカウントのホームページにはほとんど誰も注目しません。
この機能を利用して、毎回データベースからデータを読み取るのではなく、この一部のデータを事前にメモリにキャッシュすることで、データベースへのアクセス負荷を軽減し、Web サイト全体のアクセス速度を向上させることができます。 Web サイトで使用されるキャッシュは、一般的にアプリケーション サーバー上のキャッシュと専用の分散キャッシュ サーバー上のキャッシュに分けられます。アプリケーション サーバーへのキャッシュのアクセス速度ははるかに高速ですが、キャッシュ自体のメモリ制限により、多くの場合、適切ではありません。リモート分散キャッシュは、クラスターを使用してキャッシュ サービスを担当し、メモリが不足した場合に動的に拡張できます。
アプリケーション サーバー クラスターを使用して、Web サイトの同時処理能力を向上させます。キャッシュを使用すると、データ アクセスの負荷が軽減されますが、Web サイト アクセスのピーク時に 1 つのアプリケーション サーバーで処理できるリクエスト接続の数は制限されます。 、アプリケーション サーバーが Web サイト全体の効率のボトルネックになります。サーバーの処理能力とストレージ容量が不十分な場合は、より強力なサーバーに置き換えようとしないでください。大規模な Web サイトの場合、サーバーがどれほど強力であっても、Web サイトの継続的なビジネス ニーズを満たすことはできません。
この場合、より適切なアプローチは、元のサーバーのアクセスとストレージの負荷を共有するサーバーを追加することです。 Web サイトのアーキテクチャでは、サーバーの追加によって負荷圧力が改善できる限り、同じ方法でサーバーを追加し続けることでシステムのパフォーマンスを継続的に向上させることができ、システムの拡張性を実現できます。アプリケーション サーバー クラスターの実装は、比較的シンプルで成熟したタイプの Web サイトのスケーラブルなアーキテクチャ設計です。