Tính bất biến là gì
Yêu cầu lặp lại cho kết quả giống nhau
Tính bất biến là thuộc tính của một thao tác mà nhiều lần thực thi cho ra cùng kết quả như một lần thực thi.
Ví dụ về thao tác bất biến
- GET — lấy dữ liệu không thay đổi trạng thái
- PUT — đặt giá trị lặp lại cho cùng trạng thái
- DELETE — xóa lặp lại tài nguyên đã xóa
Thao tác không bất biến
- POST — tạo tài nguyên mới mỗi lần gọi
- Tăng bộ đếm
Tại sao quan trọng
- Yêu cầu thử lại — an toàn khi mạng lỗi
- Hệ thống phân tán — đơn giản hóa xử lý lỗi
- Hệ thống thanh toán — bảo vệ khỏi tính phí kép
Triển khai
- Khóa bất biến — khóa duy nhất cho mỗi yêu cầu
- Lưu trữ trạng thái các thao tác đã thực thi
- TTL cho khóa bất biến