Çalışırken Çalıştırılabilir Dosyayı Yükseltmek
(nginx.org)- Nginx'in kullandığı yükseltme yöntemi
→ Özgün dosyadaki çalıştırılabilir dosya yenisiyle değiştirilir
→ Ana sürece USR2 sinyali gönderilir
→ Ana süreç, kendi süreç ID dosyasını .oldbin uzantısıyla değiştirir
→ Yeni çalıştırılabilir dosyayı başlatarak yeni worker süreçleri oluşturur
→ Tüm worker süreçleri istek almaya başlar
→ İlk ana sürece WINCH sinyali gönderildiğinde, kendi worker süreçlerinden normal şekilde sonlanmalarını ister
-
Mevcut ana süreç, listen socket'ini kapatmaz ve gerekirse yeniden worker süreçleri oluşturabilir
-
Eğer yeni ana süreç düzgün çalışmazsa
→ Mevcut ana sürece HUP sinyali gönderilerek yeni worker süreçlerini başlatması sağlanır; yeni ana sürecin worker'ları sonlandıktan sonra yeni ana sürece QUIT gönderilip kapatılır
→ Yeni ana sürece TERM sinyali gönderilerek mevcut worker süreçlerinden hemen durmaları istenir. Yeni ana süreç ölürse mevcut ana süreç yeni worker süreçlerini başlatır
-
Yeni ana süreç bu şekilde sonlandığında, mevcut ana süreç
.oldbinuzantısını siler -
Yükseltme başarılı olursa mevcut ana sürece
QUITsinyali gönderilerek kapatılır ve yalnızca yeni süreç bırakılır
1 yorum
Caddy 1 de bu yöntemi kullanıyor
Envoy'un Hot Restart yöntemi https://envoyproxy.io/docs/envoy/…
HAProxy Seamless Reload https://haproxy.com/blog/…