Các giới hạn và hạn mức bảo vệ cơ sở hạ tầng của Google khỏi quy trình tự động sử dụng API Trung tâm thông báo theo cách không phù hợp. Việc đưa ra quá nhiều yêu cầu từ API có thể dẫn đến lỗi chính tả vô hại hoặc có thể là do một hệ thống được thiết kế không hiệu quả khiến bạn thực hiện các lệnh gọi API không cần thiết. Bất kể nguyên nhân là gì, bạn đều cần chặn lưu lượng truy cập từ một nguồn cụ thể khi nó đạt đến một mức nhất định để đảm bảo tình trạng chung của hệ thống Google Workspace. Quy trình này đảm bảo rằng hành động của một nhà phát triển không được ảnh hưởng tiêu cực đến cộng đồng lớn hơn.
Trong trường hợp hiếm gặp là yêu cầu API không thành công, bạn sẽ nhận được phản hồi mã trạng thái HTTP. Mã trạng thái 403
có thông tin lỗi về thông tin nhập không chính xác và mã trạng thái HTTP của 503
có thông tin lỗi cho biết hạn mức API nào đã bị vượt quá. Những phản hồi này cho phép ứng dụng tuỳ chỉnh của bạn phát hiện những lỗi này và có biện pháp xử lý thích hợp.
Nếu yêu cầu của bạn cần được hoàn tất trong một khoảng thời gian cố định, hãy gửi song song các yêu cầu hoặc sử dụng nhiều luồng trong ứng dụng Java hoặc C#. Một ví dụ về yêu cầu song song là yêu cầu nhiều email từ nhiều người dùng thay vì thêm hoặc xoá nhiều email của một người dùng cùng lúc. Đối với chuỗi tin nhắn, hãy thử bắt đầu bằng 10 chuỗi tin nhắn, tức là 1 chuỗi cho mỗi email của người dùng. Lưu ý rằng đề xuất về luồng có một số đánh đổi và không hữu ích cho một số trường hợp API. Nếu số lượng yêu cầu quá cao, lỗi hạn mức sẽ xảy ra.
Đối với tất cả các lỗi dựa trên thời gian (tối đa N giây trong N giây mỗi luồng), đặc biệt là lỗi mã trạng thái 503, bạn nên dùng mã của mình để phát hiện ngoại lệ và sử dụng thuật toán thời gian đợi luỹ thừa, đợi độ trễ ngắn trước khi thử lại lệnh gọi không thành công. Ví dụ về API Trung tâm thông báo cho một luồng là chờ 5 giây rồi thử lại lệnh gọi không thành công. Nếu yêu cầu thành công, hãy lặp lại mẫu này cho các luồng khác. Nếu yêu cầu thứ hai không thành công, ứng dụng của bạn sẽ giảm tần suất yêu cầu cho đến khi cuộc gọi thành công. Ví dụ: tăng độ trễ 5 giây ban đầu lên 10 giây rồi thử lại cuộc gọi không thành công. Ngoài ra, hãy quyết định giới hạn số lần thử lại. Ví dụ: thử lại một yêu cầu từ 5 đến 7 lần với các khoảng thời gian trễ khác nhau trước khi ứng dụng trả về lỗi cho người dùng.
Danh mục giới hạn API | Giới hạn |
---|---|
Giá QPS và QPD trong Trung tâm thông báo | API này giới hạn số lượng yêu cầu cho dự án Bảng điều khiển API của bạn. Số lượng yêu cầu tối đa mỗi giây của dự án API (QPS dự án) là 1.000. Đồng thời, số yêu cầu tối đa cho mỗi người dùng trong mỗi giây (QPS của người dùng) là 150.
Nếu vượt quá các giới hạn này, máy chủ sẽ trả về mã trạng thái HTTP |
Các loại giới hạn khác | Giới hạn và nguyên tắc |
---|---|
Định dạng dữ liệu, mặc định | Định dạng dữ liệu mặc định là JSON. |
Yêu cầu trái phép | Google không cho phép gửi các yêu cầu trái phép đến API này. Yêu cầu được coi là trái phép nếu bạn không cung cấp mã thông báo uỷ quyền. Để biết thêm thông tin, hãy xem bài viết Uỷ quyền cho yêu cầu. |
Yêu cầu tăng hạn mức cho mỗi dự án
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 một tài khoản dịch vụ được coi là sử dụng một tài khoản duy nhất. Việc tăng hạn mức không đảm bảo rằng ứng dụng của 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 để được phê duyệt hơn.
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 theo thời gian, 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ắp tới sẽ tăng lên đáng kể, 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:
- Giới thiệu về yêu cầu tăng hạn mức
- Xem hạn mức và mức sử dụng hiện tại của bạn
- Yêu cầu hạn mức cao hơn