Dayanıklılık desenleriResiliency patterns

Dayanıklılık, bir sistemin hataları incelikle işleyebilme ve bunlardan kurtulabilme becerisidir.Resiliency is the ability of a system to gracefully handle and recover from failures. Uygulamaların çoğunlukla çok kiracılı olduğu, paylaşılan platform hizmetleri kullandığı, kaynaklar ve bant genişliği için rekabet ettiği, İnternet üzerinden iletişim kurduğu ve ticari donanım üzerinde çalıştırıldığı bulut barındırmanın doğası gereği, hem geçici hem de daha kalıcı hatalarla karşılaşma olasılığı yüksektir.The nature of cloud hosting, where applications are often multi-tenant, use shared platform services, compete for resources and bandwidth, communicate over the Internet, and run on commodity hardware means there is an increased likelihood that both transient and more permanent faults will arise. Dayanıklılığı korumak için, hataların algılanması, hızla ve verimli bir şekilde kurtarılması gerekir.Detecting failures, and recovering quickly and efficiently, is necessary to maintain resiliency.

DesenPattern ÖzetSummary
Bölme PerdesiBulkhead Uygulamanın öğelerini havuzlarda yalıtın; biri başarısız olursa, diğerleri çalışmaya devam edecektir.Isolate elements of an application into pools so that if one fails, the others will continue to function.
Devre KesiciCircuit Breaker Uzak hizmete veya kaynağa bağlanırken, düzeltmek için gereken sürenin değişiklik gösterebileceği hataları işleyin.Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.
Telafi İşlemiCompensating Transaction Hep birlikte sonunda tutarlı bir işlemi tanımlayan bir dizi adımda gerçekleştirilen çalışmayı geri alın.Undo the work performed by a series of steps, which together define an eventually consistent operation.
Sistem Durumu Uç Nokta İzlemeHealth Endpoint Monitoring Dış araçların düzenli aralıklarla ortaya çıkarılan uç noktalar üzerinden erişebildiği bir uygulamada işlev denetimleri yapın.Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.
Öncü SeçimiLeader Election Bir örneği, diğer örneklerin yönetiminde sorumluluk üstlenen bir öncü olarak seçerek, dağıtılmış bir uygulamadaki işbirliği görev örnekleri koleksiyonunda gerçekleştirilen eylemleri koordine edin.Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances.
Kuyruk Tabanlı Yük DengelemeQueue-Based Load Leveling Görevle hizmet arasında tampon görevi görecek ve aralıklı olarak ağırlaşan yükleri hafifletmek için çağrılacak bir kuyruk kullanın.Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads.
Yeniden DenemeRetry Hizmete veya ağa bağlanmayı denediğinde daha önce başarısız olan bir işlemi saydam bir şekilde yeniden denemesini sağlayarak, uygulamanın beklenen, geçici hataları işlemesine olanak tanıyın.Enable an application to handle anticipated, temporary failures when it tries to connect to a service or network resource by transparently retrying an operation that's previously failed.
Zamanlayıcı Aracısı GözetmeniScheduler Agent Supervisor Bir dizi dağıtılmış hizmet ve diğer uzak kaynaklar arasında bir dizi eylemi koordine edin.Coordinate a set of actions across a distributed set of services and other remote resources.