AllianceProject Handbook
← Thuật ngữ

Kiến trúc và dữ liệu

idempotency

còn gọi là gọi lại không nhân đôi

Tính chất khiến gọi một thao tác nhiều lần cho kết quả giống gọi một lần — nền tảng để thử lại an toàn.

Trên mobile, mạng đứt giữa chừng là chuyện thường. App không biết lời gọi đã tới máy chủ hay chưa, nên nó thử lại. Nếu thao tác không idempotent, người dùng nhận hai đơn hàng.

Cách làm thông dụng: app sinh một khóa cho mỗi thao tác, gửi kèm lời gọi; máy chủ thấy khóa đã xử lý thì trả lại kết quả cũ thay vì tạo mới.

Bài dùng thuật ngữ này