Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
3 yazı bulundu #graceful-shutdown
Graceful Shutdown: SIGTERM, terminationGracePeriodSeconds, preStop ve .NET HostOptions
DevOps SERİ 10

Graceful Shutdown: SIGTERM, terminationGracePeriodSeconds, preStop ve .NET HostOptions

Pod silinince SIGTERM ile endpoint'ten çıkarılma aynı anda ve senkronizasyonsuz başlar; bu yarış, her şey doğru yapılmış bir rollout'ta bile 23–26 hataya yol açtı, 5 saniyelik preStop sleep action ile sıfıra indi. .NET'in SIGTERM'de istekleri ve BackgroundService'leri sırayla bitirmesini, ShutdownTimeout ve grace period'un birbirini nasıl kestiğini, chiseled image'da exec sleep'in başarısızlığını gerçek çıktılarla görüyoruz.

8 Kas 2026 8 dk 3
Zero-Downtime'ın Ön Koşulları: Graceful Shutdown, Readiness, Stateless Uygulama ve Geriye Uyumluluk
DevOps SERİ 02

Zero-Downtime'ın Ön Koşulları: Graceful Shutdown, Readiness, Stateless Uygulama ve Geriye Uyumluluk

Hiçbir deployment stratejisi, kapanırken işini bitirmeyen ve hazır olduğunu doğru söylemeyen bir uygulamayı kurtaramaz. Gerçek koşularla: ShutdownTimeout 2 sn'ye inince 5 sn'lik istek RST ile kopuyor, Docker'ın 1 sn'lik bekleme süresi 137 (SIGKILL) üretiyor, readiness drain sırasında 503 dönerken API 200 vermeye devam ediyor, ayrı Data Protection key ring'i CryptographicException fırlatıyor ve silinen Angular chunk'ı ChunkLoadError'a dönüşüyor.

8 Kas 2026 13 dk 5
.NET'te IHostedService ve BackgroundService: Yaşam Döngüsü, Graceful Shutdown ve .NET 10 Davranış Değişikliği
Backend SERİ 02

.NET'te IHostedService ve BackgroundService: Yaşam Döngüsü, Graceful Shutdown ve .NET 10 Davranış Değişikliği

.NET 10'da BackgroundService.ExecuteAsync'in tamamı arka planda çalışır; ilk await'ten önceki kod artık startup'ı bloklamaz, erken çalışması gereken kod StartAsync'e ya da IHostedLifecycleService'e taşınır. Host kapanırken stoppingToken iptal edilir ve tüm durdurma işine varsayılan 30 saniyelik ShutdownTimeout verilir; token'ı taşımayan iş bu sürenin sonunda log bile bırakmadan kesilir.

8 Kas 2026 11 dk 5
Blog Haritası