เนื่องจาก Google Meet REST API เป็นบริการที่ใช้ร่วมกัน เราจึงใช้โควต้าและข้อจำกัดเพื่อให้ผู้ใช้ทุกคนใช้งานแอปได้อย่างเป็นธรรมและเพื่อปกป้องประสิทธิภาพโดยรวมของระบบ Google Workspace
หากใช้เกินโควต้า คุณจะได้รับการตอบกลับจากรหัสสถานะ HTTP 429: Too many requests
หากเป็นเช่นนี้ คุณควรใช้อัลกอริทึม Backoff แบบเอ็กซ์โปเนนเชียลแล้วลองอีกครั้งในภายหลัง หากไม่มีการจำกัดจำนวนคำขอที่คุณทำได้ต่อวัน ตราบใดที่ยังไม่เกินโควต้าต่อนาที
ตารางต่อไปนี้แสดงรายละเอียดขีดจำกัดของคำค้นหา
โควต้า | |||||
---|---|---|---|---|---|
คำขอที่อ่าน |
|
||||
คำขอที่เขียน |
|
||||
คำขอการเขียนที่ลดลง
(ใช้สำหรับคำขอ |
|
แก้ไขข้อผิดพลาดด้านโควต้าตามเวลา
สำหรับข้อผิดพลาดที่อิงตามเวลาทั้งหมด (สูงสุด N คำขอต่อ X นาที) เราขอแนะนำให้โค้ดจับข้อยกเว้นและใช้ Exponential Backoff ที่ถูกตัดออกเพื่อให้มั่นใจว่าอุปกรณ์จะไม่ก่อให้เกิดภาระงานมากเกินไป
Exponential Backoff เป็นกลยุทธ์การจัดการข้อผิดพลาดมาตรฐานสำหรับแอปพลิเคชันเครือข่าย อัลกอริทึม Backoff แบบเอ็กซ์โปเนนเชียลจะส่งคำขอซ้ำโดยใช้เวลารอที่เพิ่มขึ้นแบบทวีคูณระหว่างคำขอต่างๆ โดยไม่เกินเวลา Backoff สูงสุด หากคำขอยังคงไม่สำเร็จ ความล่าช้าระหว่างคำขอจะเพิ่มขึ้นเมื่อเวลาผ่านไปจนกว่าคำขอจะประสบความสำเร็จ
ตัวอย่างอัลกอริทึม
อัลกอริทึม Backoff แบบเอ็กซ์โปเนนเชียลจะส่งคำขอซ้ำแบบทวีคูณ ซึ่งทำให้เวลารอนานขึ้นระหว่างการดำเนินการอีกครั้งจนถึงเวลา Backoff สูงสุด เช่น
- ส่งคำขอไปยัง Google Meet API
- หากคำขอไม่สำเร็จ โปรดรอ 1 +
random_number_milliseconds
แล้วลองส่งคำขออีกครั้ง - หากคำขอล้มเหลว โปรดรอ 2 +
random_number_milliseconds
แล้วลองส่งคำขออีกครั้ง - หากคำขอไม่สำเร็จ โปรดรอ 4 +
random_number_milliseconds
แล้วลองส่งคำขออีกครั้ง - เป็นเช่นนี้ไปเรื่อยๆ ได้สูงสุด
maximum_backoff
ครั้ง - รอต่อไปและพยายามลองใหม่ให้ครบจำนวนสูงสุดที่กำหนด แต่อย่าเพิ่มระยะเวลารอระหว่างการลองใหม่
ที่ไหน:
- เวลารอคือ
min(((2^n)+random_number_milliseconds), maximum_backoff)
โดยเพิ่มขึ้นn
ครั้งละ 1 ครั้ง (คําขอ) random_number_milliseconds
เป็นตัวเลขแบบสุ่มของมิลลิวินาทีที่น้อยกว่าหรือเท่ากับ 1,000 วิธีนี้จะช่วยหลีกเลี่ยงกรณีที่เกิดการซิงค์ไคลเอ็นต์จำนวนมากตามสถานการณ์ แล้วลองส่งคำขอทั้งหมดอีกครั้งพร้อมกันโดยส่งคำขอแบบเป็นชุด ระบบจะคำนวณค่าของrandom_number_milliseconds
ใหม่หลังจากคำขอลองอีกครั้งแต่ละครั้งmaximum_backoff
มักอยู่ที่ 32 หรือ 64 วินาที ค่าที่เหมาะสมจะขึ้นอยู่กับกรณีการใช้งาน
ไคลเอ็นต์จะลองใหม่ต่อไปได้หลังจากผ่านไปถึง maximum_backoff
ครั้งแล้ว
ลองใหม่หลังจากจุดนี้ไม่จําเป็นต้องเพิ่มเวลา Backoff อีก เช่น หากลูกค้าใช้เวลา maximum_backoff
นาน 64 วินาที หลังจากถึงค่านี้แล้ว ไคลเอ็นต์จะลองซ้ำได้ทุกๆ 64 วินาที ในบางสถานการณ์ ไคลเอ็นต์ควรถูกป้องกันไม่ให้ลองอีกครั้งไปเรื่อยๆ
เวลารอระหว่างการลองใหม่และจำนวนการลองใหม่จะขึ้นอยู่กับกรณีการใช้งานและเงื่อนไขของเครือข่าย
การกำหนดราคา
การใช้ Google Meet API ทั้งหมดไม่มีค่าใช้จ่ายเพิ่มเติม การใช้งานเกินขีดจำกัดคำขอโควต้าจะไม่มีการเรียกเก็บเงินเพิ่มเติม และจะไม่มีการเรียกเก็บเงินจากบัญชีของคุณ
ขอเพิ่มโควต้า
คุณอาจต้องการขอเพิ่มโควต้า ทั้งนี้ขึ้นอยู่กับการใช้งานทรัพยากรของโปรเจ็กต์ การเรียก API โดยบัญชีบริการถือว่าใช้บัญชีเดียว การขอเพิ่มโควต้าอาจไม่ได้รับการอนุมัติเสมอไป หากเพิ่มโควต้าจำนวนมาก การอนุมัติก็อาจใช้เวลานานกว่านั้น
แต่ละโปรเจ็กต์มีโควต้าแตกต่างกัน เมื่อคุณใช้ Google Cloud มากขึ้นเรื่อยๆ โควต้าของคุณจึงอาจต้องเพิ่มขึ้น หากคุณคาดว่าการใช้งานจะเพิ่มขึ้นอย่างมากในเร็วๆ นี้ คุณสามารถขอปรับโควต้าได้ทุกเมื่อจากหน้าโควต้าในคอนโซล Google Cloud
ดูข้อมูลเพิ่มเติมได้ในแหล่งข้อมูลต่อไปนี้