高同時実行性を解決するための Java メソッド: 1. 大量のデータベース アクセス要求を回避する HTML 静的メソッド; 2. イメージ サーバー分離メソッド; 3. データベース クラスターとライブラリ テーブルのハッシュメソッド; 4. ロード バランシングハードウェア 4 層スイッチング方式とソフトウェア 4 層スイッチング方式があります。
#高い同時実行性を解決するための Java の方法:
1. HTML の静的化
実際のところ、純粋に静的な HTML ページが最も効率的で消費量が最も少ないことは誰もが知っているため、Web サイトのページには静的ページを使用するよう最善を尽くしています。この最も単純な方法が実際に最も効果的です。方法。コンテンツ量が多く、更新頻度も高いWebサイトでは、1つ1つ手作業で導入するのは不可能なので、よく利用する各種ポータルサイトのニュースチャンネルなど、共通の情報公開システム
CMSが登場しました。 、およびその他のチャネルもすべて情報公開システムを通じて管理および実装されます。情報公開システムは、最も簡単な情報入力を実現し、静的ページを自動生成できます。また、チャネル管理、権限管理、自動クローリングなどの機能も備えています。大規模な Web サイトの場合、効率的で管理しやすい CMS が不可欠です。
2. イメージ サーバーの分離
ご存知のとおり、Web サーバーの場合、Apache、IIS、その他のコンテナーのいずれであっても、イメージが最も多くのリソースを消費します。ページから画像を分離する必要があります。これは基本的に大規模な Web サイトで採用される戦略であり、すべての Web サイトには独立した画像サーバーがあり、場合によっては多数の画像サーバーがあります。 このようなアーキテクチャにより、ページ アクセス リクエストを提供するサーバー システムへの負荷が軽減され、画像の問題によるシステムのクラッシュが確実に回避されます。アプリケーション サーバーと画像サーバーでさまざまな構成の最適化を実行できます。 ContentType を構成する場合、サポートする LoadModules をできるだけ少なくして、より高いシステム消費量と実行効率を確保できます。3. データベース クラスターとデータベース テーブル ハッシュ
大規模な Web サイトには複雑なアプリケーションがあり、これらのアプリケーションではデータベースを使用する必要があります。現時点では、1 つのデータベースではすぐにアプリケーションに対応できなくなるため、データベース クラスタリングまたはデータベース テーブル ハッシュを使用する必要があります。 データベース クラスターに関しては、多くのデータベースが独自のソリューションを持っています。Oracle、Sybase などには優れたソリューションがあります。MySQL が提供する一般的に使用されているMaster/Slave も同様のソリューションです。どのような種類の DB を使用しますか? 対応するソリューションを参照して実装してください。
4. キャッシュ
テクノロジーに関わる人なら誰でもキャッシュという言葉を聞いたことがあるでしょうし、キャッシュはさまざまな場所で使用されています。 Web サイトのアーキテクチャおよび Web サイト開発におけるキャッシュも非常に重要です。ここではまず、最も基本的な 2 つのキャッシュについて説明します。高度な分散キャッシュについては後で説明します。 アーキテクチャ上のキャッシュでは、Apache に詳しい人なら、Apache が独自のキャッシュ モジュールを提供しており、追加の
Squid モジュールをキャッシュに使用できることを知っているでしょう。これらのメソッドは、Apache のアクセス応答機能を効果的に向上させることができます。
5.ミラー
ミラーリングは、パフォーマンスとデータ セキュリティを向上させるために大規模な Web サイトでよく使用される方法です。ミラーリング テクノロジは、ChinaNet と EduNet の違いなど、ネットワーク アクセス プロバイダーや地域の違いによって引き起こされるユーザーのアクセス速度の違いを解決できます。多くの Web サイトが構築されています教育ネットワーク内のミラーサイトであり、データは定期的またはリアルタイムで更新されます。ミラーリングの詳細なテクノロジに関しては、ここではあまり詳しく説明しませんが、専門的な既製のソリューション アーキテクチャと製品が多数あります。 Linux 上の rsync やその他のツールなどのソフトウェアを使用して安価に実装する方法もあります。
6. 負荷分散
負荷分散は、大規模な Web サイトにとって、高負荷のアクセスと多数の同時リクエストを解決するための究極のソリューションになります。
負荷分散テクノロジーは長年にわたって開発されており、多くの専門的なサービス プロバイダーや製品から選択できますが、私は個人的にいくつかのソリューションに遭遇しており、そのうちの 2 つは参考として使用できます。
1) ハードウェア 4 層スイッチング
4 層目のスイッチングでは、3 層目と 4 層目の情報パケットのヘッダー情報を使用して、アプリケーションに応じたビジネス フローを識別します。間隔全体のビジネス フローは、処理のために適切なアプリケーション サーバーに割り当てられます。レイヤ 4 スイッチング機能は、物理サーバーを指す仮想 IP のようなものです。送信されるサービスは、HTTP、FTP、NFS、Telnet、その他のプロトコルなど、さまざまなプロトコルに従います。これらのサービスには、物理サーバーに基づく複雑な負荷分散アルゴリズムが必要です。 IP の世界では、サービス タイプは端末の TCP または UDP ポート アドレスによって決まりますが、レイヤ 4 スイッチングでは、アプリケーションの範囲は送信元と端末の IP アドレス、TCP および UDP ポートによって決まります。
ハードウェア 4 層スイッチング製品の分野では、Alteon、F5 などの有名な製品がいくつかあります。これらの製品は高価ですが、お金を払う価値があり、提供できるものです。非常に優れたパフォーマンスと非常に柔軟な管理能力。 Yahoo China は、2,000 台近くのサーバーを処理するために 3 ~ 4 台の Alteons を使用しました。
2) ソフトウェア 4 層スイッチング
ハードウェア 4 層スイッチの原理が誰もが知った後、OSI モデルに基づくソフトウェア 4 層スイッチングが登場しました。このようなソリューションは同じ原理を実装していますが、パフォーマンスはわずかに悪くなります。ただし、ある程度のプレッシャーに耐えるのは簡単であり、ソフトウェアの実装方法は実際にはより柔軟であり、処理能力は完全に構成の習熟度に依存するという人もいます。
Linux で一般的に使用されている LVS
を使用して、4 層のソフトウェア スイッチングを解決できます。LVS は Linux 仮想サーバーであり、ハートビート ラインに基づいたリアルタイムの災害対応ソリューションを提供します。堅牢で、分散システムに不可欠なさまざまなアプリケーション要件を同時に満たすことができる、柔軟な仮想 VIP 構成および管理機能を提供します。
関連する学習に関する推奨事項: Java ビデオ チュートリアル
以上がJava での高い同時実行性を解決するにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。