Hata Toleransı Nedir?
İngilizce: Fault Tolerance
Yayın: · Son güncelleme:
Hata Toleransı Nedir? Kısaca
Hata toleransı (fault tolerance), bir sistemin bileşenlerinden biri ya da birkaçı arızalandığında bile kesintisiz ya da kabul edilebilir düzeyde çalışmaya devam edebilme yeteneğidir. Yedeklilik ve otomatik devralma ile sağlanır.

Hata toleransı nedir?
Hata toleransı, arızayı beklenen bir durum olarak kabul edip sistemi buna göre tasarlamaktır. Diskler bozulur, sunucular kapanır, ağ bağlantıları kopar. Hata toleranslı bir sistemde bu olaylar kullanıcıya yansımaz ya da çok sınırlı yansır.
Uçaklardaki birden fazla motor iyi bir benzetmedir. Motorlardan biri durduğunda uçak yoluna devam edebilir.
Nasıl sağlanır?
En temel yöntem yedekliliktir. Varsayımsal bir örnek: bir uygulamanın veritabanı bir ana sunucu ve sürekli güncel tutulan bir yedek sunucudan oluşuyor. Ana sunucu çöktüğünde sistem bunu birkaç saniyede algılıyor ve yedeği ana sunucu yapıyor. Kullanıcılar en fazla kısa bir yavaşlama hissediyor.
Donanım seviyesinde RAID yapılandırması, bir disk bozulduğunda verinin diğer disklerden okunmasını sağlar. Yazılım seviyesinde ise başarısız istekleri belirli aralıklarla yeniden denemek ve sorunlu bir servise istek göndermeyi geçici olarak kesen devre kesici (circuit breaker) deseni yaygın tekniklerdir.
Yüksek erişilebilirlikten farkı ne?
İki kavram yakındır ama aynı değildir. Yüksek erişilebilirlik kesinti süresini en aza indirmeyi hedefler ve kısa bir kesintiyi kabul edebilir. Hata toleransı ise arıza anında bile hizmetin kesilmemesini amaçlar ve genellikle daha pahalıdır.
Her sistem için tam hata toleransı gerekmez. Bir şirket içi raporlama aracı birkaç dakika kapalı kalabilir, bir ödeme sistemi kalamaz. Önce kesintinin size maliyetini hesaplayın, yatırımı bu maliyete göre planlayın ve yedekli yapının gerçekten çalıştığını düzenli tatbikatlarla test edin.
Sıkça Sorulan Sorular
Hata toleransı ile yedekleme aynı şey mi?
Değildir. Yedekleme, verinin bir kopyasını saklayarak kayıp sonrası geri yüklemeyi sağlar. Hata toleransı ise arıza anında sistemin çalışmaya devam etmesini hedefler. İkisi birbirini tamamlar.
Bizans hata toleransı ne demek?
Bazı düğümlerin yalnız çökmesine değil, yanlış ya da kasıtlı olarak yanıltıcı bilgi göndermesine rağmen sistemin doğru karar verebilmesidir. Özellikle blokzincir ağlarında önemlidir.