Bazı seçenekler.
Kalıcı bir iletişim kanalı kullanın
HTTP yerine, iletileri yüksek oranda kullanılabilir ve kalıcı olan bir sıraya bırakın. Örneğin Kafka. Hedef sunucu bir noktada kullanılabilir olduğu sürece iletiyi alır.
Artık karmaşık bir alt sistemi (kuyruk) sağlama ve yönetme dengesine sahipsiniz. Bu yüzden bunun değerli olup olmadığını analiz ettiğinizden emin olun.
Geri çekil ve tekrar dene
Arayanın başarısız isteği (muhtemelen diskte kalmaya devam etmesini) sağlayın ve periyodik olarak tekrar deneyin. Bu durumda, hizmetin çökmesine neden olan bir çökmeye neden olan isteğinizi ayırt etmek önemlidir. Birincisi muhtemelen bir hatadan kaynaklanmaktadır ve günlüğe kaydedilmelidir ... yeniden denemeler muhtemelen bir düzeltme yapılana kadar bir fark yaratmaz.
Algıla ve telafi et
Periyodik bir görev, mikro hizmetler arasındaki tutarlılık koşullarını kontrol eder. Örneğin, başarısızlık, API sorgularını gerektiği gibi yönlendirmek için tamamen günlüğe kaydeder. Bir sorun bulursa (örneğin, bir sipariş var ancak gönderim hiç alınmadı ambalaj listesi), tazminat adımları uygulayın. Bu adımlar, manuel düzeltme için bir destek bileti oluşturmak veya birine veya başka bir şekilde e-posta göndermek olabilir.
Tasarım alternatiflerini göz önünde bulundurun
Böyle bir durum, etkilenen mikro hizmetlere yapılan çağrıları yönetmek için muhtemelen bir API ağ geçidi gerektirir. Bu şekilde, bu sorunu azaltmak için hangi taktiklerin kullanılacağını kontrol edersiniz. Muhtemelen müşterilere bu uygulama ayrıntılarını yüklemek istemezsiniz. Bkz. Devre kesici düzeni .
Mikro hizmetler bağımsız olduğundan, her zaman tutarsızlığa neden olabilecek bir hata durumu vardır. Bunlar ortaya çıktığında manuel düzeltmeler yapmaya hazır olmalısınız.
Güçlü bir tutarlılığa ihtiyacınız varsa, mikro hizmetler iyi bir uyum olmayacaktır. Hala ölçeklenebilirliğe ihtiyaç duyuyorsanız , tutarlılık garantileri için ilgili verilerin aynı kırıkta birlikte yerleştirilebileceği parçalara bakmak isteyebilirsiniz . Parçalar ekleyerek IO'yu ölçeklendirebilirsiniz.
Güçlü bir tutarlılığa ihtiyacınız varsa ve ölçeklenebilirlik sorunlarınız yoksa, sadece yekpare hizmetleri kullanın. Endişeleri ayırmak için kütüphaneleri başvurunuzda sınır olarak kullanın.