Xử lý 429 mà không tạo bão retry

Hướng dẫn production: Xử lý 429 mà không tạo bão retry. Nội dung gồm hiện vật xác định, ranh giới lỗi, kiểm tra rollout và nguồn đã xác minh.

Xử lý 429 mà không tạo bão retry

Hướng dẫn production: Xử lý 429 mà không tạo bão retry. Nội dung gồm hiện vật xác định, ranh giới lỗi, kiểm tra rollout và nguồn đã xác minh.

Quyết định trước

Xử lý 429 mà không tạo bão retry là hợp đồng production rõ ràng, không phải thay đổi riêng lẻ. Hãy xác định thành công, lỗi cuối và rollback trước khi chuyển traffic; hiện vật tách bằng chứng khỏi giả định.

Bắt đầu với classification, chứng minh retry_after bằng ca xác định và biến terminal thành release gate.

Hiện vật có thể tái sử dụng

Một hàng chỉ đạt khi bằng chứng thuộc cùng request, cửa sổ kiểm thử hoặc phiên bản cấu hình.

Điểm kiểm tra Bằng chứng cần lưu Điều kiện đạt
classification 429_source:_application,gateway,provider,or_shared_pool Bản ghi nối một request logic với một attempt cụ thể.
retry_after delta-seconds_or_HTTP-date_parsed_against_a_monotonic_deadline Giá trị được giữ và so sánh chính xác tại biên wire.
jitter bounded_random_delay_after_server_guidance Giới hạn tường minh và fail-closed khi vượt quá.
attempts one_end-to-end_attempt_budget_shared_by_every_layer Giới hạn tường minh và fail-closed khi vượt quá.
concurrency admission_reduced_before_retry_volume_grows Giới hạn tường minh và fail-closed khi vượt quá.
terminal final_429_returned_with_request_ID_and_no_hidden_retries Owner, nguồn, ngày và giới hạn được ghi lại.

Ví dụ tính toán

Ví dụ dùng dữ liệu tổng hợp và xác định. Hãy thay bằng giá trị workload đã review; không đưa secret hoặc dữ liệu khách hàng vào.

attempt_budget = 3
for attempt in 1..attempt_budget:
  result = call_once()
  if result.status != 429: return result
  if request.deadline_expired(): break
  delay = parse_retry_after(result.headers) ?? bounded_backoff(attempt)
  reduce_admission_concurrency()
  wait(min(delay + full_jitter(), request.remaining_time))
return terminal_429_without_another_retry()

Quy trình triển khai

  1. Đóng băng request, response, cấu hình và baseline quan sát trước thay đổi.
  2. Chạy ca dương tính xác định và lưu toàn bộ kết quả.
  3. Chạy ca âm tính hoặc giới hạn tương ứng.
  4. Nối mọi attempt bằng một request ID logic và ghi thời gian, trạng thái cuối, usage nhưng không ghi nội dung nhạy cảm.
  5. Chỉ rollout cho cohort giới hạn với điều kiện dừng.
  6. Đọc lại state bền vững và hành vi công khai; rollback nếu invariant lỗi.

Chế độ lỗi

Các lỗi sau làm kết quả vô hiệu dù HTTP bên ngoài có vẻ thành công:

  • Retry không có attempt budget làm khuếch đại tải.
  • Hủy không tới hàng đợi hoặc upstream nên tiếp tục tốn capacity.
  • Một response text bị coi là bằng chứng tương thích đầy đủ.
  • Prompt, key hoặc argument nhạy cảm bị ghi vào telemetry.

Ranh giới Modelflare

Modelflare tập trung routing tương thích OpenAI, key, group, usage và xử lý lỗi, nhưng route đã cấu hình không chứng minh mọi khả năng của provider. Kiểm tra model và channel bằng protocol native, giữ giá trị 0 tường minh và lấy settlement bền vững làm sự thật billing.

Xem hướng dẫn cha cho ranh giới quyết định và tài liệu cho cấu hình client hiện tại.

Checklist trước khi xuất bản

  • Trả lời câu hỏi chính trước phần nền.
  • Gán owner cho từng field, state, metric và công thức.
  • Chỉ dùng identifier tổng hợp.
  • Giữ nguyên cấu trúc, code, giới hạn và cảnh báo ở mọi ngôn ngữ.
  • Kiểm tra lại contract, hỗ trợ và giá ở T-1; dời lịch nếu sự thật đổi.
  • Trước giờ hẹn, loại khỏi public API, route và sitemap.

Nguồn và ngày kiểm tra

Nguồn được kiểm tra ngày 2026-08-07 và không chứng minh route chưa thử nghiệm.