Hạn mức sử dụng

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

Nếu vượt quá hạn mức, bạn thường sẽ nhận được 429: Too many requests Phản hồi của mã trạng thái HTTP. 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 rồi thử lại sau. Chỉ cần bạn duy trì định mức mỗi phút dưới đây thì sẽ không ở mức giới hạn về số lượng yêu cầu bạn có thể thực hiện mỗi ngày.

Bảng sau đây trình bày chi tiết các hạn mức 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/người dùng trên mỗi dự án 600
Yêu cầu đọc tốn kém

(Dùng cho các yêu cầu presentations.pages.getThumbnail.)

Mỗi phút trên mỗi dự án 300
Mỗi phút/người dùng trên mỗi dự án 60
Ghi yêu cầu
Mỗi phút trên mỗi dự án 600
Mỗi phút/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ả cá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 mã của bạn phát hiện được ngoại lệ và sử dụng tính năng thuật toán thời gian đợi luỹ thừa để đảm bảo không tạo ra quá tải trọng.

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. Một 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, lên tới thời gian đợi tối đa. Nếu yêu cầu vẫn không thành công, điều quan trọng là độ trễ giữa các yêu cầu tăng 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 thử lại yêu cầu theo cấp số nhân, làm tăng thời gian chờ giữa các lần thử lại cho đến thời gian đợi tối đa. Ví dụ:

  1. Gửi yêu cầu đến API Google Trang trình bày.
  2. Nếu yêu cầu không thành công, hãy đợi 1 + random_number_milliseconds rồi thử lại yêu cầu.
  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ử lại yêu cầu.
  5. Và cứ tiếp tục như vậy, tối đa maximum_backoff lần.
  6. Tiếp tục chờ và thử lại cho đến khi đạt đến số lần thử lại tối đa, nhưng đừng tăng thời gian chờ khoảng thời gian giữa các lần thử lại.

trong đó:

  • Thời gian chờ là min(((2^n)+random_number_milliseconds), maximum_backoff), với 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 1.000. Điều này giúp tránh các trường hợp trong đó nhiều ứng dụng khách được đồng bộ hoá bằng một số tình huống và tất cả thử lại cùng một lúc, gửi yêu cầu được đồng bộ hoá . Giá trị của random_number_milliseconds sẽ được tính toán lại sau mỗi lần yêu cầu thử lại.
  • maximum_backoff thường dài 32 hoặc 64 giây. Giá trị phù 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 đã đế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. Cho ví dụ: nếu khách hàng sử dụng thời gian maximum_backoff là 64 giây, thì sau khi tiếp cận giá trị này thì ứng dụng có thể thử lại sau mỗi 64 giây. Vào một thời điểm nào đó, khách hàng không được thử lại vô thời hạn.

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

Giá

Bạn có thể sử dụng API Google Trang trình bày mà không mất thêm phí. Vượt hạn mức giới hạn yêu cầu không bị tính thêm phí và tài khoản của bạn không được lập hoá đơn.

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 một hạn mức tăng lên. Lệnh gọi API của tài khoản dịch vụ được coi là sử dụng tài khoản duy nhất. Việc đăng ký tăng hạn mức không đảm bảo rằng tài khoản của bạn sẽ được phê duyệt. Lớn việc tăng hạn mức 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ó hạn mức giống nhau. Vì bạn ngày càng sử dụng Google Cloud thì bạn có thể cần tăng hạn mức. Nếu bạn mong đợi một sự kiện đáng chú ý sắp tới mức sử dụng tăng lên, 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 bảng điều khiển Google Cloud.

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