Ekim 2019'dan beri tutulur

Olay sonrası inceleme: yirmi altı dakika başarısız oturum açma, 19 Ocak 2026

Yapılandırma olarak sınıflandırdığımız bir oturum deposu değişikliği, tüm müşterileri panelden ve API'den yirmi altı dakika boyunca kilitledi. Çalışan örnekler hiç etkilenmedi.

Özet

19 Ocak 2026 tarihinde, 14:02 ile 14:28 UTC arasında, panele giriş yapma veya API'ye karşı kimlik doğrulama girişimlerinin kabaca üçte ikisi başarısız oldu. Mevcut oturumlar da rastgele geçersiz kılındı. Çalışan örnekler, ağ bağlantıları ve trafikleri boyunca hiçbir şekilde etkilenmedi. Sağlama yirmi altı dakika durakladı ve ardından boşaltıldı; hiçbir sipariş kaybolmadı.

Zaman Çizelgesi

Tüm saatler UTC, 19 Ocak 2026.

ZamanOlay
14:02Oturum belirteci şeması değişikliği kontrol düzlemine uygulandı. Dağıtım yapılandırma olarak işaretlendi, bu yüzden altı panel düğümünün tümüne aynı anda gitti.
14:03Giriş hata oranı sıfıra yakından yüzde altmış bire yükseldi. Otomatik uyarı iki dakikalık bir pencereye sahip ve henüz tetiklenmedi.
14:06Uyarı tetiklendi. Nöbetçi mühendis çağrıldı.
14:08İlk müdahale çevrimiçi. Bir hata oranı görüyor, kod değişikliği günlüğünde dağıtım yok ve veritabanına bakmaya başlıyor.
14:14İkinci mühendis katıldı, kod günlüğü yerine yapılandırma değişikliği günlüğünü kontrol etti ve 14:02 girişini buldu.
14:16Neden anlaşıldı: iki düğüm belirteçleri önceki okuyucu ile doğruluyor.
14:19Geri alma başlar.
14:24Belirteçler altı düğümün tümünde doğru şekilde yayınlanıyor ve doğrulanıyor. Hata oranı sıfıra düşer.
14:28Kuyruktaki sağlama işleri boşaltıldı. Kurtarma tamamlandı.
15:10Durum sayfası güncellendi. Kırk iki dakika geç kaldı, bu kendi başına bir başarısızlıktır ve aşağıda ele alınmıştır.

Kök Neden

Oturum belirteci bir alan kazandı. Yazarlar yeni formatı hemen yaydı; altı panel düğümünden ikisindeki okuyucu yeniden başlatılmamıştı ve yeni alanı taşıyan her şeyi reddetti. İstekler altı düğümün tümüne dağıtıldığından, yeni bir düğümde basılan bir oturumun herhangi bir istekte eski bir düğüm tarafından doğrulanma olasılığı yaklaşık üçte birdi. Sonuç aralıklı görünüyordu, bu yüzden teşhisin ilk altı dakikası dağıtım günlüğüne değil veritabanına gitti.

Daha derin neden, 2023'te yazdığımız bir kuraldır. Uygulama kodu yerine şema dosyasına dokunan değişiklikler yapılandırma olarak sınıflandırıldı ve yapılandırma, gerekçesiyle, alıntı, sadece değerler olarak canary aşamasını atladı. Bu kural, tek şema dosyaları özellik bayrakları olduğunda makuldü. Şema dosyasının tanımı genişledikçe kimse onu yeniden gözden geçirmedi ve bu değişiklik, sessizce yanlış hale gelen bir kural altında doğru şekilde sınıflandırıldı.

Bu, onu uygulayan mühendisin hatası değildi. Sınıflandırma tam olarak yazıldığı gibi takip edildi.

Etki Alanı

  • Panel girişleri: yirmi altı dakika boyunca yüzde altmış bir başarısızlık oranı.
  • API belirteçleri: aynı başarısızlık oranı, aynı pencere. Idempotency anahtarları, yeniden denenen oluşturmaların çoğaltılmamasını sağladı.
  • Çalışan örnekler: etkilenmedi. Paket kaybı yok, yeniden başlatma yok, depolama etkisi yok.
  • Sağlama: durduruldu, başarısız olmadı. Pencere sırasında dört sipariş kesinleşti ve dördü de 14:28'e kadar tamamlandı.

Ne Değiştirdik

  1. Canary aşaması artık koşulsuz. Herhangi bir sınıflandırmaya sahip, dağıtılan her şey, başka bir yere gitmeden önce beş dakika boyunca sentetik trafikle bir düğüme gider. 21 Ocak'ta yapıldı.
  2. Okuyucular otuz gün boyunca önceki formatı kabul eder. Belirteç doğrulama artık açıkça sürümlendirilmiş ve bir örtüşme penceresine sahiptir, böylece kısmen yayılmış bir değişiklik hiçbir şeye dönüşmez. 23 Ocak'ta yapıldı.
  3. Sentetik bir giriş her on beş saniyede bir çalışır ağımızın dışından, üç bölgede ve iki dakikalık ortalama penceresi yerine ikinci ardışık başarısızlıkta sayfa çağırır. 22 Ocak'ta yapıldı.
  4. Durum sayfası otomatik olarak yayınlanır sentetik giriş iki kez başarısız olduğunda, bir insanın bir cümle yazmasını beklemeden. Ardından bir insan cümlesi gelir. 26 Ocak'ta yapıldı.

Ne Değiştirmedik ve Neden

Panel trafiği için istemci IP'lerini veya istek gövdelerini hâlâ günlüğe kaydetmiyoruz. Bunlara sahip olmak, düğümler arasındaki üçte bir dağılımı anında gösterebilir ve muhtemelen dokuz dakika kazandırabilirdi. Dokuz dakika, her müşterinin nereden giriş yaptığının kalıcı bir kaydına değmez. Günlük sayfasındaki saklama tablosu değişmeden duruyor.

Oturumları paylaşılan siteler arası bir depoya taşımadık. Tüm siteleri kapsayan tek bir oturum deposu, tek bir okuyucuya sahip olarak karışık okuyucu sorununu tamamen önleyebilirdi. Aynı zamanda, altı yıldır inşa etmediğimiz, kimin neye bağlı olduğunun merkezi ve her zaman sıcak kaydını yaratırdı.

Durum sayfası dışında bir kesinti duyuru kanalı eklemedik. Birkaç kişi sosyal medyayı önerdi. Durum sayfası, doğru tutmayı taahhüt edebileceğimiz tek şeydir ve ikinci bir yüzey eklemek, bayatlayan ikinci bir yüzey anlamına gelir.

Kredi

SLA, örnek kullanılabilirliğini kapsar. Örnekler yirmi altı dakika boyunca kullanılabilirdi, bu yüzden sözleşme kapsamında kimseye bir şey borçlu değildik. Pencerede başarısız kimlik doğrulaması olan her hesaba bir günlük kredi uyguladık; bu da yaklaşık üç bin yüz avroya denk geldi, çünkü sunucularına ulaşamayan insanlarla ayrımı tartışmak herkesin öğleden sonrasının daha kötü kullanılmasıdır.

Hazır olduğunda

Bir şehir seç. Bir boyut seç. Kripto ile öde.

Kim olduğunuzla ilgili formlar yok, onay için insan bekleme yok, doğrulama için telefon görüşmesi yok. Ödeme onaylanır ve kimlik bilgileri gelen kutunuza düşer.