Aracılığıyla paylaş


Dayanıklı uygulamalar uygulama

İpucu

Bu içerik, .NET Docs'ta veya çevrimdışı olarak okunabilen ücretsiz indirilebilir bir PDF olarak sunulan Kapsayıcılı .NET Uygulamaları için .NET Mikro Hizmetler Mimarisi e-Kitabı'ndan bir alıntıdır.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

Mikro hizmetiniz ve bulut tabanlı uygulamalarınız, kesinlikle sonunda gerçekleşecek kısmi hataları benimsemelidir. Uygulamanızı bu kısmi hatalara dayanıklı olacak şekilde tasarlamanız gerekir.

Dayanıklılık, hatalardan kurtarma ve çalışmaya devam etme özelliğidir. Hatalardan kaçınmakla değil, hataların gerçekleşeceği gerçeğini kabul etmek ve bunlara kapalı kalma süresini veya veri kaybını önleyecek şekilde yanıt vermekle ilgilidir. Dayanıklılığın amacı, bir hatadan sonra uygulamayı tamamen çalışır duruma döndürmektir.

Mikro hizmet tabanlı bir uygulama tasarlamak ve dağıtmak yeterince zordur. Ancak uygulamanızı bir tür hatanın kesin olduğu bir ortamda da çalışır durumda tutmanız gerekir. Bu nedenle uygulamanızın dayanıklı olması gerekir. Ağ kesintileri, düğümler veya vm'lerin bulutta kilitlenmesi gibi kısmi hatalarla başa çıkmak için tasarlanmalıdır. Bir küme içindeki farklı bir düğüme taşınan mikro hizmetler (kapsayıcılar) bile uygulama içinde aralıklı olarak kısa hatalara neden olabilir.

Uygulamanızın birçok ayrı bileşeni sistem durumu izleme özelliklerini de içermelidir. Bu bölümdeki yönergeleri izleyerek, geçici kapalı kalma süresine veya karmaşık ve bulut tabanlı dağıtımlarda oluşan normal hıçkırıklara rağmen sorunsuz çalışabilen bir uygulama oluşturabilirsiniz.

Önemli

eShopOnContainer, 3.0.0 sürümüne kadar Yazılan İstemciler'i kullanarak dayanıklılık uygulamak için Polly kitaplığını kullanmıştı.

Sürüm 3.0.0'dan başlayarak HTTP çağrıları dayanıklılığı, koddaki bu endişeleri işlemek zorunda kalmadan kubernetes kümesinde yeniden denemeleri saydam ve yapılandırılabilir bir şekilde işleyen bir Linkerd ağı kullanılarak uygulanır.

Polly kitaplığı, özellikle hizmetleri başlatırken veritabanı bağlantılarına dayanıklılık eklemek için hala kullanılır.

Uyarı

Bu bölümdeki tüm kod örnekleri ve görüntüleri Linkerd kullanmadan önce geçerliydi ve geçerli kodu yansıtacak şekilde güncelleştirilmedi. Bu nedenle bu bölümün bağlamında anlamlıdırlar.