> Terim
Idempotency
Belirli işlemlerin, sonucu ilk uygulamadan öteye değiştirmeden birden çok kez uygulanabilmesi özelliği.
Detaylı Açıklama
Dağıtık sistemlerde idempotency, bir istemci bir istek gönderdiğinde ve bu başarısız olduğunda veya zaman aşımına uğradığında, işlemi kazara tekrarlamadan aynı isteği güvenle yeniden deneyebilmesini garanti eder.
Genellikle istemcinin her işlem için benzersiz bir 'Idempotency Key' (idempotency anahtarı) üretmesiyle uygulanır. Sunucu bu anahtarı ve yanıtı saklar; aynı anahtarı tekrar görürse sadece önbelleğe alınmış yanıtı döndürür.
Neden Önemli?
Idempotency olmadan, ödeme işlemi sırasında yaşanan bir ağ kesintisi, kullanıcının tarayıcısı isteği otomatik olarak yeniden denediğinde kredi kartından birden çok kez para çekilmesine neden olabilir.
Yaygın Hata Senaryosu
Pratik Örnek
Prodüksiyon Yansıması
Stripe gibi ödeme ağ geçitleri, tüm veriyi değiştiren (mutating) istekler için idempotency anahtarlarını zorunlu kılar. REST API'lerde GET, PUT ve DELETE metotlarının tasarım gereği idempotent olması beklenir.
Sıkça Sorulan Sorular
Idempotency kısaca nedir?
Belirli işlemlerin, sonucu ilk uygulamadan öteye değiştirmeden birden çok kez uygulanabilmesi özelliği.
En sık karşılaşılan hata nedir?
Bir API'nin idempotent olduğunun varsayılması ancak aslında öyle olmaması; istemciler standart yeniden deneme (retry) politikalarını izlediğinde tekrarlanan kayıtlara, çifte ücretlendirmeye veya tutarsız durumlara yol açması.
AI Özeti
Belirli işlemlerin, sonucu ilk uygulamadan öteye değiştirmeden birden çok kez uygulanabilmesi özelliği. Idempotency olmadan, ödeme işlemi sırasında yaşanan bir ağ kesintisi, kullanıcının tarayıcısı isteği otomatik olarak yeniden denediğinde kredi kartından birden çok kez para çekilmesine neden olabilir.
