Hạn mức sử dụng

Vì API Google Tài liệu là một dịch vụ dùng chung, nên chúng tôi áp dụng hạn mức và giới hạn để đảm bảo tất cả người dùng đều sử dụng dịch vụ này một cách công bằng và để bảo vệ tình trạng tổng thể của hệ thống Google Workspace.

Nếu vượt quá hạn mức, bạn thường sẽ nhận được phản hồi mã trạng thái HTTP 429: Too many requests. Nếu điều này xảy ra, bạn nên sử dụng thuật toán thời gian đợi luỹ thừa và thử lại sau.

Bảng sau đây trình bày chi tiết các giới hạn về yêu cầu:

Hạn mức
Yêu cầu đọc
Mỗi phút trên mỗi dự án 3000
Mỗi phút trên mỗi người dùng trên mỗi dự án 300
Ghi yêu cầu
Mỗi phút trên mỗi dự án 600
Mỗi phút trên mỗi người dùng trên mỗi dự án 60

Giải quyết lỗi hạn mức dựa trên thời gian

Đối với tất cả lỗi dựa trên thời gian (tối đa N yêu cầu mỗi X phút), bạn nên sử dụng mã để phát hiện ngoại lệ và sử dụng thời gian đợi lũy thừa bị cắt bớt để đảm bảo thiết bị của bạn không tạo ra quá nhiều tải.

Thuật toán thời gian đợi luỹ thừa là một chiến lược xử lý sai số chuẩn cho các ứng dụng mạng. Thuật toán thời gian đợi luỹ thừa thử lại các yêu cầu bằng cách sử dụng thời gian chờ tăng dần theo cấp số nhân giữa các yêu cầu, tối đa đến thời gian đợi tối đa. Nếu yêu cầu vẫn không thành công, bạn cần tăng độ trễ giữa các yêu cầu theo thời gian cho đến khi yêu cầu thành công.

Thuật toán ví dụ

Thuật toán thời gian đợi luỹ thừa sẽ thử lại các yêu cầu theo cấp luỹ thừa, tăng thời gian chờ giữa các lần thử lại lên đến thời gian đợi tối đa. Ví dụ:

  1. Tạo yêu cầu đến API Google Tài liệu.
  2. Nếu yêu cầu không thành công, hãy đợi 1 + random_number_milliseconds rồi thử yêu cầu lại.
  3. Nếu yêu cầu không thành công, hãy đợi 2 + random_number_milliseconds rồi thử lại yêu cầu.
  4. Nếu yêu cầu không thành công, hãy đợi 4 + random_number_milliseconds rồi thử yêu cầu lại.
  5. Và tương tự như vậy, lên đến thời gian maximum_backoff.
  6. Tiếp tục chờ và thử lại tối đa một số lần thử lại, nhưng không tăng thời gian chờ giữa các lần thử lại.

trong đó:

  • Thời gian chờ là min(((2^n)+random_number_milliseconds), maximum_backoff), trong đó n tăng thêm 1 cho mỗi lần lặp (yêu cầu).
  • random_number_milliseconds là một số mili giây ngẫu nhiên nhỏ hơn hoặc bằng 1.000. Điều này giúp tránh các trường hợp nhiều ứng dụng khách được đồng bộ hoá theo một số tình huống và tất cả đều thử lại cùng một lúc, gửi các yêu cầu theo sóng đồng bộ. Giá trị của random_number_milliseconds sẽ được tính toán lại sau mỗi yêu cầu thử lại.
  • maximum_backoff thường là 32 hoặc 64 giây. Giá trị thích hợp tuỳ thuộc vào trường hợp sử dụng.

Ứng dụng có thể tiếp tục thử lại sau khi đạt đến thời gian maximum_backoff. Các lần thử lại sau thời điểm này không cần tiếp tục tăng thời gian đợi. Ví dụ: nếu một ứng dụng sử dụng thời gian maximum_backoff là 64 giây, thì sau khi đạt đến giá trị này, ứng dụng có thể thử lại sau mỗi 64 giây. Tại một thời điểm nào đó, bạn nên ngăn ứng dụng thử lại vô thời hạn.

Thời gian chờ giữa các lần thử lại và số lần thử lại phụ thuộc vào trường hợp sử dụng và điều kiện mạng.

Giá

Mọi hoạt động sử dụng API Google Tài liệu đều được cung cấp miễn phí. Việc vượt quá hạn mức yêu cầu hạn mức sẽ không bị tính thêm phí và tài khoản của bạn sẽ không bị tính phí.

Yêu cầu tăng hạn mức

Tuỳ thuộc vào mức sử dụng tài nguyên của dự án, bạn nên yêu cầu tăng hạn mức. Các lệnh gọi API của tài khoản dịch vụ được coi là sử dụng một tài khoản duy nhất. Việc đăng ký tăng hạn mức không đảm bảo rằng bạn sẽ được phê duyệt. Việc tăng hạn mức lớn có thể mất nhiều thời gian hơn để được phê duyệt.

Không phải dự án nào cũng có cùng hạn mức. Khi bạn sử dụng Google Cloud ngày càng nhiều, hạn mức của bạn có thể cần tăng lên. Nếu dự kiến mức sử dụng sẽ tăng đáng kể trong thời gian tới, bạn có thể chủ động yêu cầu điều chỉnh hạn mức trên trang Hạn mức trong Google Cloud Console.

Để tìm hiểu thêm, hãy xem các tài nguyên sau: