ขีดจำกัดการใช้งาน

เนื่องจาก Google Meet REST API เป็นบริการที่แชร์ร่วมกัน เราจึงใช้โควต้าและข้อจำกัดต่างๆ เพื่อให้มั่นใจว่าผู้ใช้ทุกคนมีการใช้งานอย่างเป็นธรรมและเพื่อปกป้องประสิทธิภาพโดยรวมของระบบ Google Workspace

หากเกินโควต้า โดยทั่วไปแล้วคุณจะได้รับการตอบกลับด้วยรหัสสถานะ HTTP 429: Too many requests หากเกิดกรณีเช่นนี้ คุณควรใช้อัลกอริทึม Backoff แบบเอ็กซ์โปเนนเชียลแล้วลองอีกครั้งในภายหลัง คุณจะส่งคำขอได้ไม่จำกัดต่อวันตราบใดที่คุณใช้งานไม่เกินโควต้าต่อนาที

ตารางต่อไปนี้แสดงรายละเอียดขีดจำกัดการค้นหา

โควต้า
คำขอที่อ่าน
ต่อนาทีต่อโปรเจ็กต์ 6000
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ 600
คำขอที่เขียน
ต่อนาทีต่อโปรเจ็กต์ 1,000
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ 100
ลดคำขอเขียน

(ใช้สำหรับคำขอ spaces.create รายการ)

ต่อนาทีต่อโปรเจ็กต์ 100
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ 10

แก้ไขข้อผิดพลาดเกี่ยวกับโควต้าตามเวลา

สำหรับข้อผิดพลาดตามเวลาทั้งหมด (สูงสุด N คำขอต่อ X นาที) เราขอแนะนำให้โค้ดของคุณตรวจจับข้อยกเว้นและใช้ Exponential Backoff ที่ถูกตัดเพื่อให้แน่ใจว่าอุปกรณ์จะไม่สร้างภาระงานที่มากเกินไป

Exponential Backoff เป็นกลยุทธ์การจัดการข้อผิดพลาดมาตรฐานสำหรับแอปพลิเคชันเครือข่าย อัลกอริทึม Backoff แบบเอ็กซ์โปเนนเชียลจะพยายามส่งคำขอซ้ำโดยใช้เวลารอที่เพิ่มขึ้นแบบทวีคูณระหว่างคำขอ จนถึงเวลา Backoff สูงสุด หากคำขอยังคงไม่สำเร็จ ความล่าช้าระหว่างคำขอจะเพิ่มขึ้นเมื่อเวลาผ่านไปจนกว่าคำขอจะเสร็จสมบูรณ์

ตัวอย่างอัลกอริทึม

อัลกอริทึม Backoff แบบเอ็กซ์โปเนนเชียลจะพยายามส่งคำขอซ้ำเป็นทวีคูณ ซึ่งจะเพิ่มเวลารอระหว่างการดำเนินการซ้ำจนถึงเวลา Backoff สูงสุด เช่น

  1. ส่งคำขอไปยัง Google Meet API
  2. หากคำขอล้มเหลว โปรดรอ 1 + random_number_milliseconds แล้วลองส่งคำขออีกครั้ง
  3. หากคำขอล้มเหลว ให้รอ 2 + random_number_milliseconds แล้วลองส่งคำขออีกครั้ง
  4. หากคำขอล้มเหลว โปรดรอ 4 + random_number_milliseconds แล้วลองส่งคำขออีกครั้ง
  5. และอื่นๆ สูงสุด maximum_backoff ครั้ง
  6. รอต่อไปและลองใหม่จนถึงจำนวนครั้งสูงสุด แต่อย่าเพิ่มระยะเวลารอระหว่างการลองใหม่

โดยมี

  • เวลารอคือ min(((2^n)+random_number_milliseconds), maximum_backoff) โดย n จะเพิ่มขึ้น 1 ครั้งต่อการทำซ้ำแต่ละครั้ง (คำขอ)
  • random_number_milliseconds คือจำนวนมิลลิวินาทีแบบสุ่มที่น้อยกว่าหรือเท่ากับ 1,000 ซึ่งจะช่วยหลีกเลี่ยงกรณีที่ไคลเอ็นต์จำนวนมากซิงค์ข้อมูลในบางสถานการณ์ และลองใหม่ทั้งหมดพร้อมกันโดยส่งคำขอใน Wave ที่ซิงค์ ระบบจะคำนวณค่าของ random_number_milliseconds ใหม่หลังจากส่งคำขอลองอีกครั้งแต่ละครั้ง
  • โดยปกติแล้ว maximum_backoff จะมีความยาว 32 หรือ 64 วินาที ค่าที่เหมาะสมจะขึ้นอยู่กับกรณีการใช้งาน

ไคลเอ็นต์จะลองอีกครั้งต่อไปหลังจากครบเวลา maximum_backoff แล้ว การลองใหม่หลังจากจุดนี้ไม่จำเป็นต้องเพิ่มเวลาย้อนกลับต่อไป ตัวอย่างเช่น หากไคลเอ็นต์ใช้เวลา maximum_backoff เป็นเวลา 64 วินาที หลังจากที่ถึงเกณฑ์แล้ว ไคลเอ็นต์จะลองอีกครั้งได้ทุก 64 วินาที ในบางสถานการณ์ ไคลเอ็นต์ควรถูกป้องกันไม่ให้ลองใหม่โดยไม่มีกำหนด

เวลารอระหว่างการลองใหม่และจำนวนการลองใหม่นั้นขึ้นอยู่กับกรณีการใช้งานและสถานะของเครือข่าย

ราคา

การใช้งาน Google Meet API ทั้งหมดมีให้บริการโดยไม่มีค่าใช้จ่ายเพิ่มเติม การใช้งานเกินขีดจำกัดคำขอโควต้าจะไม่มีการเรียกเก็บเงินเพิ่มเติมและบัญชีของคุณจะไม่ถูกเรียกเก็บเงิน

ขอเพิ่มโควต้า

คุณอาจต้องขอเพิ่มโควต้า ทั้งนี้ขึ้นอยู่กับการใช้ทรัพยากรของโปรเจ็กต์ การเรียก API โดยบัญชีบริการจะถือเป็นการใช้ บัญชีเดียว การขอเพิ่มโควต้าอาจไม่ได้รับการอนุมัติเสมอไป การเพิ่มโควต้าจำนวนมากอาจใช้เวลาอนุมัตินานขึ้น

โปรเจ็กต์บางรายการมีโควต้าเหมือนกันไม่ได้ เมื่อคุณใช้ Google Cloud มากขึ้นเรื่อยๆ โควต้าอาจต้องเพิ่มขึ้น หากคาดว่าการใช้งานจะเพิ่มขึ้นอย่างเห็นได้ชัด คุณสามารถขอปรับโควต้าด้วยตัวเองได้จากหน้าโควต้าในคอนโซล Google Cloud

ดูข้อมูลเพิ่มเติมได้ในแหล่งข้อมูลต่อไปนี้