Yanıt gelmemesi başarısızlık değildir
Bir API çağrısı zaman aşımına uğradığında istemci sonucun ne olduğunu bilemeyebilir. Hedef sistem kaydı oluşturmuş, fakat yanıt yolda kaybolmuş olabilir. Bu nedenle yalnızca hata koduna bakıp tekrar denemek yeterli değildir. İşlemin benzersiz kimliği ile durumunu sorgulayabilmek, kullanıcıya doğru bilgi vermek açısından önem taşır. Tekrar senaryosu iş tasarımının parçası olmalıdır.
İşlem kimliğini koruyun
Aynı mantıksal işlem için aynı istek kimliğini kullanın. Sunucu bu kimliği içerikle birlikte kontrol ederek önceki sonucu döndürebilir. Aynı kimliğin farklı içerikle kullanılmasını da reddetmelidir. Kontrol ve kayıt atomik yapılmazsa eşzamanlı iki istek yine mükerrer kayıt üretebilir. Kimliğin ne kadar süre tutulacağı ve işlem tamamlanmadan gelen tekrarın nasıl karşılanacağı ayrıca belirlenir.
Örnek uygulama
Saha uygulaması çevrimdışı hazırlanan servis kaydına bir kimlik verir. İnternet geri geldiğinde aynı kayıt birkaç kez gönderilse bile merkezde tek servis işi açılır. Kullanıcı, belirsiz bir hata yerine kaydın mevcut durumunu görür.
Başlamadan önce kontrol edin
Aşağıdaki soruları ilgili iş birimi ve teknik ekiple birlikte yanıtlayın.
- Tekrar denemede işlem kimliği değişmeden kalıyor mu?
- Aynı kimlikle farklı içerik gönderilmesi kontrol ediliyor mu?
- Eşzamanlı istekler için mükerrer kayıt testi yapıldı mı?
İletişime geçin