これを行うために私が考えることができるテクニックがたくさんあります:
- 別のポートや IP でレプリカ Web サーバーをセットアップし、DNS をロードバランサーとして使用します。一度に 1 つのサーバーを再起動する
- より明示的なロード バランシング (Heroku や OpenShift などの PaaS が使用するもの) を暗黙的なレプリカで利用する
- 組み込みのメカニズムを使用する (例: nginx)
私は IaaS ソリューション内で作業しており、gitこのセットアップ全体を処理するためにいくつかのリスナーをセットアップします。
バックエンド サーバーの一部が故障した場合、リバース プロキシは他の正常なサーバーにリクエストをディスパッチでき、ユーザーには影響しません。負荷分散戦略をカスタマイズして、きめの細かい制御を行うことができます。また、スケールアップのためにサーバーを柔軟に追加したり、トラブルシューティングやコード更新のためにサーバーを選択したりすることもできます。