SocialGO

Xử lý lỗi API, thử lại và tính bất biến (idempotency)

Thử lại các lỗi tạm thời với thời gian chờ tăng dần, thất bại nhanh với lỗi vĩnh viễn, và dùng idempotency để tránh bị tính phí hai lần.

Hãy thiết kế cho tình huống thất bại, không chỉ cho luồng lý tưởng. Trường hợp nguy hiểm nhất là trường hợp mơ hồ: một yêu cầu có thể đã thành công hoặc chưa trước khi kết nối bị ngắt.

Hãy dùng một khóa idempotency cho các yêu cầu đặt hàng để một lần thử lại an toàn sau khi hết thời gian chờ trả về đơn hàng hiện có thay vì tạo ra một khoản phí trùng lặp. Thử lại các lỗi tạm thời (giới hạn tần suất, lỗi 5xx tạm thời) với thời gian chờ tăng dần và một mức trần.

Hãy thất bại nhanh với các lỗi vĩnh viễn như một yêu cầu sai hoặc số dư không đủ, và đưa chúng đến một người xử lý. Thử lại những lỗi đó chỉ lãng phí thời gian. Hãy ghi lại mọi yêu cầu và phản hồi kèm mã đơn hàng để bạn có thể đối chiếu sau này.

Bài viết này có hữu ích không?

Bài viết liên quan

Vẫn cần trợ giúp?

Không tìm thấy điều bạn cần? Đội ngũ của chúng tôi luôn sẵn lòng giúp đỡ.

Thời gian phản hồi trung bình rất nhanh. Hầu hết yêu cầu nhận được phản hồi đầu tiên ngay trong ngày.

Quay lại Trung tâm trợ giúp