İdempotent işlem nedir?
İdempotent işlem, aynı isteğin tekrar uygulanmasının ilk uygulamayla aynı nihai etkiyi üretmesi özelliğidir.
Çalışma mantığı ve kullanım alanları
Bir kaydı belirli duruma ayarlamak idempotent olabilir; “bakiyeye 10 ekle” doğrudan tekrarlandığında farklı sonuç verir. Ağ zaman aşımında istemci yanıtı göremeyebilir ve isteği yeniden yollar. Ödeme veya sipariş yaratmada idempotency key, aynı mantıksal isteğin yinelenmesini tanımaya yardım eder. Anahtarın kapsamı ve saklanma süresi açık olmalıdır.
Sınırlar, güvenlik ve seçim ölçütleri
İki eşzamanlı yinelenen istek için atomik kayıt veya kilit gerekir; yalnız önceden kontrol edip sonra yazmak yarış koşulu yaratabilir. Dış hizmete gönderilen e-posta veya para transferi de işlem sınırına dahil edilmelidir. İdempotent tasarım, ağın en az bir kez teslim davranışını daha güvenli yönetir. İdempotent işlem, aynı isteğin birden çok kez yapılmasının beklenen son durumu tekrar değiştirmemesidir. Örneğin bir hesabın bildirim ayarını “kapalı” yapmak, aynı ayarı yeniden göndermekle yeni bir sonuç üretmez. Ödeme gibi işlemlerde ağ yanıtı kaybolabilir; istemci yeniden denerken benzersiz bir idempotency anahtarı kullanılmazsa iki kez tahsilat riski oluşur. Sunucu anahtarı ve önceki sonucu uygun süre boyunca saklar, farklı içerikle tekrar kullanımını reddeder. Yan etkilerin tamamı aynı işlem sınırında ele alınmalıdır. Bu özellik testte eşzamanlı tekrarlarla da doğrulanmalıdır.