Bir “Kaos Maymunu” uygulamasının ve etkin bir şekilde yanıt vermenin herhangi bir örneği var mı?


15

Jeff Atwood kısa süre önce Netflix'in "Kaos Maymunu" uygulaması hakkında bir blog yazısı yazdı . Çok üst düzey bir makale. Birisinin bu sistemi gerçekten test etmek için uygulayıp uygulamadığını merak ediyorum.

Gerçekten sormaya çalıştığım şey şu: Mimarinizin sistemin çökmesinin bir parçası olarak hayatta kalmasını sağlamak için hangi stratejileri uyguluyorsunuz?


1
Ve belki de, böyle bir mimariyi test etmek için hangi stratejileri kullanıyorsunuz?
rlb.usa

... Eh, sanırım
netflix

Muhtemelen bu konuda bir ödül alacağım. Bazı çok ilginç anwsers olabilir
Robotsushi

1
Kabul etti ... Ama programcılara ait, SO değil. Oy verildi migrate.

Yanıtlar:


5

Tecrit ve zarif bozulma genel stratejilerdir. ( OOD / P'de olduğu gibi daha küçük ölçekte görmeye meyilli olduğum halde, izolasyona benzeyen bir başka terim ayrıştırmaktır . Kavram aynıdır.)

Bir sistemin farklı kısımlarını birbirinden izole edersiniz, böylece biri arızalanırsa, diğerleri yine de isteklere yanıt verebilir. Gibi Netflix blog sözü arama çalışmıyor ise, akış hala iyi olurdu. Bu, sadece bir dar boğazın veya bir engellemenin diğerini etkilemediği kadar ayrı yerlerde arama ve akışın anlamına gelir.

Zarif bozulma ile, bir şeyin en iyi uygulaması mevcut değilse, başka bir şey doldurursunuz. Yine Netflix yayınından, izlediğiniz ve beğendiğiniz şeylere bakmak ve daha sonra diğerlerinin kişiselleştirilmiş önerilerini çalışmak için bir sisteme sahipler izlemek için şeyler. Bu sistem kapalıysa, genel olarak popüler olan şeylerin önerilerini göstermeye geri dönerler. Mesele, A Planı hiçbir şey veya hata göstermek yerine başarısız olduğunda bir şey yapmak veya göstermek için Plan B, Plan C vb .

Zarif bir bozulmanın yaygın bir istemci tarafı örneği (uygulama yaygın olsun ya da olmasın) web sitelerinde javascript kullanımını içerir. Tarayıcının javascript'i devre dışı bırakılmışsa veya yalnızca kullanılamıyorsa, sitenin sayfaları yine de başarıyla çalışmalıdır. Bu kadar hızlı veya kaygan olmayabilir, ancak kullanılamaz hale gelmek yerine yine de çalışmalıdır.

Ancak bunlar çok genel fikirler. Hemen hemen her proje, sağladıkları hizmetlere ve alt sistemlere ve bunlar arasındaki bağımlılıklara bağlı olarak bunları farklı şekilde uygulayacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.