Solutions前書き高可用性Webアプリケーションのセットアップは、単一障害点の排除とダウンタイムの最小化を目指す開発者に利点をもたらします。この一般的なフレームワーク内には、さまざまなバリエーションがあります。開発者は、アプリケーションの特定のニーズとパフォーマンス目標に基づいて選択を行います。[高可用性Webアプリケーションの完全な図表]この高可用性アプリケーションのセットアップは、以下を潜在的に提供する仮想ソリューションとして設計されました。ストレージ、検索、および連結に重点を置いた、画像、ドキュメント、およびビデオの処理ソリューション。eコマースソリューションとスケーリング、変更、または統合できるスコアキーピング、リーダーボード、または購入ソリューション。eコマースソリューションと統合することもできるブログソリューション。この記事では、このセットアップの特定の機能を検討し、より一般的なレベルでそのコンポーネントについて説明します。各セクションの終わりに、方法論とベストプラクティスを検討する際に役立つトピックの追加リソースにリンクします。[ステップ1:フロントエンドサーバーの図]典型的な多層セットアップでは、プレゼンテーションレイヤーをアプリケーションロジックから分離します。アプリケーション機能をレイヤーに分離すると、トラブルシューティングとスケーリングのプロセスが長期的に簡単になります。サーバーとリソースを選択するとき、次の要因を考慮することができます。メディアおよび画像アセットを使用してどのような作業を行いますか?計算要件はどのようになりますか?予想されるトラフィックの種類と量は?監視する予定はありますか?私たちの監視ツールは、アプリケーションを拡張し、このレベルや他のレベルでリソースを構築するのに役立ちます。コスト削減とセキュリティ対策のために行うことができる追加のステップは、フロントエンドサーバーを含むアプリケーションのリソースを共有プライベートネットワークに割り当てることです。追加の帯域幅コストをかけたり、単一のデータセンターを離れることなく、サーバー間でデータを転送できます。DigitalOceanプライベートネットワークをセットアップして使用する方法。[ステップ2の図:ロードバランサー]アプリケーションのリソースの高可用性とパフォーマンスを維持するために、ロードバランサーを作成してフロントエンドワークロードを管理できます。これらのロードバランサーは、サーバーの障害または誤動作を管理するために、定期的なヘルスチェックとフェールオーバーメカニズムを使用して、着信トラフィックをリダイレクトします。一般的にトラフィックのバランスを取り、個々のサーバーが過負荷にならないようにします。構成を最適化するために、次の要素を考慮することができます。リクエストとユーザーに関する状態情報を保存しますか?CPU負荷に基づいてリクエストをリダイレクトする必要がありますか?これらの要因により、構成に最適なアルゴリズムを選択できます。ロードバランサーの動作には追加のセキュリティコンポーネントもあります。特定のポートでリッスンし、ポート間でトラフィックをリダイレクトするように構成できます。それらを使用して、バックエンドサーバーのメッセージを復号化することもできます。DigitalOceanロードバランサーの概要。