Redis veritabanımızı kurtardı. Ta ki onu çökertene kadar.

Ne oldu:

  • Trafik patlaması: saniyede 50 bin istek
  • Redis %100 CPU'ya ulaştı
  • Önbellek isabet etmeme (cache miss) oranları artmaya başladı
  • Tüm 50 bin istek doğrudan veritabanına gitti
  • Veritabanı 30 saniye içinde çöktü

Asıl sorun:

Devre kesicimiz yoktu. Redis zorlandığında, zarif bir şekilde durumu idare etmek yerine, Redis'in kaldıramadığı her şeyi veritabanına yığdık.

Çözüm:

  • Devre kesici deseni: Redis yavaşsa, eski veri döndür veya hata ver—veritabanına gitme
  • Yatay ölçekleme için Redis Cluster
  • Zaman aşımlı bağlantı havuzu (connection pooling)
  • Kapasiteye yaklaşırken yük atma (load shedding)

Ders: Önbelleğiniz sadece bir performans optimizasyonu değildir. Kritik bir bileşendir. Başarısız olduğunda, veritabanınızı yok etmeyi içermeyen bir plana ihtiyacınız var.


← Alınan Derslere Dön