ホームページ > バックエンド開発 > PHPの問題 > PHPでの高い同時実行性を解決する方法

PHPでの高い同時実行性を解決する方法

王林
リリース: 2023-02-24 16:24:01
オリジナル
20829 人が閲覧しました

PHPでの高い同時実行性を解決する方法

#高い同時実行性を解決するための PHP の方法

# # 1. アプリケーションと静的リソースを分離する

#静的リソース (js、css、画像など) を専用サーバーに配置します。

2. ページのキャッシュ

アプリケーションによって生成されたページをキャッシュすると、CPU リソースを大量に節約できます。データを頻繁に変更する一部のページでは、ajax を使用して処理できます。

ビデオ コースの推奨事項 →:

「数千万のデータに対する同時実行ソリューション (理論と実践)」

3. クラスタと分散

クラスタとは、複数のサーバが同じ機能を持ち、主に転用の役割を果たします。分散型では、異なるビジネスを異なるサーバーに配置します。リクエストを処理するために複数のサーバーが必要になる場合があり、それによりリクエストの処理速度が向上します。さらに、静的リソース クラスターとアプリケーション クラスターに分かれます。後者はより複雑で、多くの場合、セッション同期などの問題を考慮する必要があります。

4. リバースプロキシ

クライアントが直接アクセスするサーバーは、直接サービスを提供するサーバーではなく、他のサーバーからリソースを取得し、その結果をサーバーに返します。ユーザー。

プロキシ サーバーとリバース プロキシ サーバー:

プロキシ サーバーは、当社に代わってリソースにアクセスし、結果を返します。たとえば、外部ネットワークのプロキシ サーバーにアクセスします。リバースプロキシサーバーとは、通常サーバーにアクセスする際に、サーバー自体が別のサーバーを呼び出します。

当社ではプロキシ サーバーを積極的に使用してサービスを提供しているため、独自のドメイン名を持つ必要はありません。リバース プロキシはサーバー自体によって使用されており、サーバー自体が独自のドメイン名を持っていることはわかりません。

5. CDN

CDN は特別なクラスター ページ キャッシュ サーバーであり、通常のクラスター内の複数のページ キャッシュ サーバーと比較して、主な違いは次のとおりです。割り当てリクエストの動作は異なります。

CDN サーバーは全国に分散しており、リクエストを受信すると、最適な CDN サーバーノードに割り当てられてデータを取得します。その各 CDN ノードはページ キャッシュ サーバーです。

分散方法:

は通常の負荷分散ではなく、ドメイン名を解決する際に割り当てる専用の CDN ドメイン名解決サーバーです。

一般的なアプローチは次のとおりです。ISP は CNAME を使用してドメイン名を特定のドメイン名に解決し、次に専用の CDN サーバーを使用して解決されたドメイン名を解決します (ブラウザに戻ってアクセスします)。対応するドメイン名 CDN ノード。各ノードは複数のサーバーでクラスタ化することもできます。

高同時実行性を処理するためのビジネス ロジックは次のとおりであることがわかります。

フロントエンド: リソース静的 cdn の非同期リクエスト

バックエンド: リクエスト キュー ポーリング 分散ロード バランシング共有キャッシュ

データ レイヤー: Redis キャッシュ データ テーブル書き込みキュー

ストレージ: RAID アレイ ホット バックアップ

ネットワーク: DNS ポーリング DDOS 攻撃保護

推奨チュートリアル: PHP ビデオ チュートリアル

以上がPHPでの高い同時実行性を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート