คืออะไร Idempotency
คำขอซ้ำให้ผลลัพธ์เหมือนเดิม
Idempotency คือคุณสมบัติของการดำเนินการที่การดำเนินการหลายครั้งให้ผลลัพธ์เหมือนกับการดำเนินการครั้งเดียว
ตัวอย่างการดำเนินการที่เป็น Idempotent
- GET — การดึงข้อมูลไม่เปลี่ยนสถานะ
- PUT — การตั้งค่าซ้ำให้สถานะเหมือนเดิม
- DELETE — การลบทรัพยากรที่ลบแล้วซ้ำ
การดำเนินการที่ไม่เป็น Idempotent
- POST — สร้างทรัพยากรใหม่ทุกครั้งที่เรียก
- การเพิ่มค่าตัวนับ
ทำไมจึงสำคัญ
- คำขอลองใหม่ — ปลอดภัยเมื่อเครือข่ายล้มเหลว
- ระบบกระจาย — ทำให้การจัดการข้อผิดพลาดง่ายขึ้น
- ระบบการชำระเงิน — ป้องกันการเรียกเก็บซ้ำ
การนำไปใช้
- Idempotency Key — คีย์เฉพาะสำหรับแต่ละคำขอ
- การจัดเก็บสถานะของการดำเนินการที่ดำเนินแล้ว
- TTL สำหรับ Idempotency Key