Passenger 3に関するテクノロジープレビューの投稿で、彼らはダウンタイムゼロについて議論しました。
Phusion Passenger 3では、ダウンタイムなしのWebサーバーの再起動を実装しました。 Phusion PassengerとWebサーバーはバックグラウンドで再起動されます。これが発生している間、古いWebサーバーインスタンス(古いPhusion Passengerインスタンスを含む)は引き続きリクエストを処理します。
私が理解したところによると、Passenger 3を使用する場合、デプロイ時間中にリクエストが遅延したりドロップされたりすることはありません。しかし、Passenger 3とnginxでの私のテストから、これは真実ではありません。私が経験しているのは、すでに行われたリクエストは完了しているが、デプロイ時に行われている新しいリクエストは遅延し、Passengerが新しいインスタンスを生成するのを待っているということです。
私が期待していたのは、新しいPassengerインスタンスが着信リクエストを受け入れる準備が完全に整うまで、古いPassengerインスタンスがリクエストを処理し続けることです。
私は彼らの説明を誤解しましたか、それとも私はいくつかの悪い構成を持っていますか?
明確にするために、私は複数のサーバーでゼロのダウンタイムを達成できることを理解していますが、この場合は1つを参照しています。