Jaringan membuat hasil menjadi tidak pasti

Permintaan dapat mencapai server dan berhasil dilakukan bahkan ketika browser tidak pernah menerima respons. Mencoba ulang adalah hal yang wajar, tetapi tanpa identitas permintaan yang stabil, server tidak dapat membedakan percobaan ulang dari perintah baru.

Untuk pembuatan tautan publik, ambiguitas tersebut dapat menghasilkan alias duplikat, catatan membingungkan, atau efek samping yang berulang.

Satu kunci mewakili satu mutasi yang diinginkan

Klien mengirimkan kunci idempotensi unik dengan permintaan pembuatan. Server menyimpan hasilnya bersama dengan sidik jari masukan. Mengulangi kunci dan input yang sama akan mengembalikan hasil aslinya.

Penggunaan kunci yang sama dengan masukan berbeda ditolak karena konflik. Ini melindungi klien dan server dari perubahan arti perintah sebelumnya secara tidak sengaja.

Daya tahan penting dalam produksi

Penyimpanan idempotensi dalam memori cukup untuk pengujian terisolasi, bukan untuk layanan produksi multi-instance. Kunci produksi dan hasilnya harus berada dalam batas domain tahan lama yang sama dengan mutasi, dengan masa berlaku dan cakupan penyewa.

Pola yang sama berlaku untuk pembayaran, pemrosesan webhook, impor, dan pekerjaan yang memerlukan efek duplikat yang mahal.

API Pengembang · Akses dan batasan saat ini