จัดการโควต้า

Google ปฏิทิน API มีโควต้าเพื่อให้ผู้ใช้ทุกคนใช้งานได้อย่างยุติธรรม มีข้อจำกัดสำคัญ 3 ข้อที่ควรพิจารณาเมื่อใช้ API ปฏิทิน:

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

ประเภทโควต้าการใช้งาน API ปฏิทิน

ระบบบังคับใช้โควต้า 2 ประเภทดังนี้

  • ต่อนาทีต่อโปรเจ็กต์: คือจำนวนคำขอที่เกิดจาก โปรเจ็กต์ Google Cloud
  • ต่อนาทีต่อโปรเจ็กต์ต่อผู้ใช้: คำขอที่ส่งโดย ผู้ใช้คนใดคนหนึ่งในโปรเจ็กต์ระบบคลาวด์ของคุณ ขีดจำกัดนี้มีเป้าหมาย ช่วยให้คุณมีการกระจายการใช้งานที่ยุติธรรมสำหรับผู้ใช้

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

หากเกินโควต้าใดเนื้อหาหนึ่ง คุณจะถูกจํากัดอัตราและจะได้รับ รหัสสถานะ 403 usageLimits หรือ รหัสสถานะ 429 usageLimits กับคำค้นหาของคุณ หากเกิดกรณีเช่นนี้ สิ่งที่คุณทำได้มีดังนี้

  1. โปรดทำตามแนวทางปฏิบัติแนะนำทั้งหมดต่อไปนี้ ใช้ Exponential Backoff สุ่มรูปแบบการเข้าชม ใช้ข้อความ Push
  2. หากโครงการของคุณกำลังเติบโตและคุณมีผู้ใช้เพิ่มขึ้น คุณสามารถขอ โควต้าต่อโปรเจ็กต์ที่เพิ่มขึ้น
  3. หากมีการใช้งานถึงขีดจำกัดโควต้าต่อผู้ใช้แล้ว คุณจะทำสิ่งต่อไปนี้ได้
    • หากใช้บัญชีบริการ จัดสรรภาระงานให้กับผู้ใช้ หรือแยกระหว่างบัญชีบริการหลายบัญชี
    • แม้ว่าคุณสามารถขอเพิ่มโควต้าต่อผู้ใช้ได้ แต่โดยทั่วไปจะ ไม่แนะนำให้เพิ่มสูงกว่าค่าเริ่มต้นเนื่องจากแอปพลิเคชันของคุณ อาจเริ่มถึงขีดจํากัดประเภทอื่นๆ เช่น ขีดจำกัดการใช้งานปฏิทินทั่วไป หรือขีดจำกัดในการดำเนินการ

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

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

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

ใช้ Exponential Backoff

เมื่อเราต้องการให้คุณชะลออัตราคำขอ เราจะแสดงผล 403 "usageLimits" การตอบกลับ 429 หรือการตอบกลับ 429 (โปรดดู เอกสารประกอบเกี่ยวกับข้อผิดพลาดฉบับเต็ม) นี่ไม่ใช่ข้อผิดพลาดร้ายแรง และเราคาดหวังให้คุณลองส่งคำขออีกครั้งหลังจากผ่านไปครู่หนึ่ง ช่วงเวลา หากคำขอยังคงส่งมาถึงเร็วเกินไป เราจะขออีกครั้ง และ เป็นต้น เพื่อให้การดำเนินการนี้ทำงานได้อย่างถูกต้อง สิ่งสำคัญคือการหน่วงเวลาระหว่าง คำขอจะเพิ่มขึ้นเมื่อเวลาผ่านไป

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

สุ่มรูปแบบการเข้าชม

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

หากไม่ต้องการให้เหตุการณ์นี้เกิดขึ้น โปรดตรวจสอบว่าการเข้าชมมีการกระจายตลอดทั้งวัน หากเป็นไปได้ หากลูกค้าของคุณต้องการซิงค์ทุกวัน กำหนดเวลาแบบสุ่ม (แตกต่างกันสำหรับลูกค้าแต่ละราย) หากคุณจำเป็นต้องดำเนินการ การดำเนินการเป็นประจำ ทำให้ช่วงเวลาแปรผัน +/- 25% การดำเนินการนี้จะเผยแพร่ การเข้าชมอย่างสม่ำเสมอมากขึ้น และให้ประสบการณ์ของผู้ใช้ที่ดีขึ้นมาก

ใช้ข้อความ Push

Use Case ทั่วไปคือต้องมีการดำเนินการทุกครั้งที่มีการเปลี่ยนแปลง ในปฏิทินของผู้ใช้ รูปแบบที่ต่อต้านคือการสำรวจ ซ้ำทุก ปฏิทินที่สนใจ ซึ่งจะทำให้หมดโควต้าของคุณไปอย่างรวดเร็ว ตัวอย่างเช่น หากแอปพลิเคชันมีผู้ใช้ 5,000 คนและทำการสำรวจในปฏิทินของผู้ใช้แต่ละคน นาทีแล้ว ซึ่งจะต้องมีโควต้าต่อนาทีอย่างน้อย 5,000 คู่ ก่อนที่งานจะเสร็จ

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

การทำบัญชีอย่างเหมาะสมด้วยบัญชีบริการ

หากแอปพลิเคชันของคุณดำเนินการตามคำขอโดยใช้ การมอบสิทธิ์ทั่วทั้งโดเมน โดยค่าเริ่มต้น ระบบจะเรียกเก็บเงินบัญชีบริการเป็น "ต่อนาทีต่อ" โปรเจ็กต์ต่อผู้ใช้" โควต้าเท่านั้น ไม่ใช่ผู้ใช้ที่คุณแอบอ้างเป็นบุคคลอื่น ซึ่งหมายความว่า บัญชีบริการมีแนวโน้มที่จะหมดโควต้าและถูกจำกัดอัตรา แม้ว่าการทำงาน กับผู้ใช้หลายคน ปฏิทิน โปรดหลีกเลี่ยง โดยใช้พารามิเตอร์ quotaUser ของ URL (หรือ x-goog-quota-user HTTP ส่วนหัว) เพื่อระบุว่าจะเรียกเก็บเงินจากผู้ใช้คนใด ใช้สำหรับโควต้าเท่านั้น การคำนวณ โปรดดู การจำกัดคำขอต่อผู้ใช้ ในเอกสารประกอบของ Cloud

การทดสอบการจัดการขีดจำกัดโควต้า

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

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

ราคา

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