ข้ามไปยังเนื้อหา

เร็ว ๆ นี้: โปร 11.11 · ลด 31% เริ่ม 11/11 ใช้โค้ดได้เมื่อโปรโมชันเริ่ม

ดูราคา

ทำความเข้าใจข้อจำกัดอัตราคำขอและการจัดการข้อผิดพลาดใน API ของ Kencang.in

ทำความเข้าใจข้อจำกัดอัตราคำขอและการจัดการข้อผิดพลาดใน API ของ Kencang.in

การผสานรวมที่ดีไม่เพียงใช้งานได้เมื่อทุกอย่างราบรื่น แต่ยังรู้ว่าต้องทำอย่างไรเมื่อเซิร์ฟเวอร์ปฏิเสธคำขอ บทความนี้จะกล่าวถึงสองสิ่งที่มักทำให้เกิดปัญหากับการรวม Kencang.in API: เกินขีดจำกัดอัตราและข้อผิดพลาดในการตีความผิด

ขีดจำกัดอัตราทำงานอย่างไร

ขีดจำกัดอัตราจำกัดจำนวนคำขอต่อนาทีต่อคีย์ API เป้าหมายคือเพื่อรักษาเสถียรภาพของบริการสำหรับผู้ใช้ทุกคน ขีดจำกัดขึ้นอยู่กับแพ็กเกจ: Pro ได้รับ 60 คำขอต่อนาที ธุรกิจ 300 ต่อนาที รายละเอียดอยู่ในหน้า ราคา. การนับจะรีเซ็ตทุกนาที (กรอบเวลาคงที่) ไม่ใช่กรอบเวลาที่เลื่อน

คำตอบแต่ละรายการมีส่วนหัว:

  • X-RateLimit-Limit: ขีดจำกัดต่อนาทีสำหรับคีย์ของคุณ
  • X-RateLimit-Remaining: คำขอที่เหลืออยู่ในนาทีที่กำลังทำงาน
  • Retry-After: เฉพาะการตอบสนอง 429 ซึ่งเป็นจำนวนวินาทีก่อนที่คุณจะลองอีกครั้ง ส่วนหัวนี้เป็นมาตรฐานใน MDN.

กลยุทธ์เพื่อหลีกเลี่ยงการโดน 429

  1. กองอยู่ข้างคุณ หากคุณต้องการสร้างลิงก์ 500 ลิงก์ อย่าเริ่มลิงก์ทั้งหมดพร้อมกัน เข้าคิวและดำเนินการตามขีดจำกัด เช่น 50 ครั้งต่อนาทีโดยมีการพักคู่
  2. แคชผลลัพธ์ ข้อมูลที่ไม่ค่อยเปลี่ยนแปลง เช่น รายการโดเมนหรือรายละเอียดลิงก์ ไม่จำเป็นต้องขอซ้ำๆ
  3. ใช้เอนด์พอยต์รายการแบบแบ่งหน้า แทนที่จะเรียกรายละเอียดทีละรายการ
  4. จอภาพ X-RateLimit-Remaining และชะลอความเร็วลงเมื่อเข้าใกล้ศูนย์

จัดการ 429 พร้อมแบ็คออฟเอ็กซ์โปเนนเชียล

เมื่อรับ 429 แล้วให้ความเคารพ Retry-After. หากไม่มีส่วนหัว ให้ใช้ Exponential Backoff: รอ 1, 2, 4, 8 วินาที บวกกับ Jitter แบบสุ่ม เพื่อไม่ให้ไคลเอ็นต์หลายตัวลองอีกครั้งในวินาทีเดียวกัน รูปแบบนี้ได้รับการแนะนำอย่างกว้างขวาง รวมทั้งใน คำแนะนำในการลอง Google Cloud อีกครั้ง.

การถอยกลับแบบเอ็กซ์โปเนนเชียล (Python) - ทำความเข้าใจข้อจำกัดอัตราคำขอและการจัดการข้อผิดพลาดใน API ของ Kencang.in
การถอยกลับแบบเอ็กซ์โปเนนเชียล (Python)

รหัสข้อผิดพลาดและความหมาย

รหัสสถานะที่ต้องจัดการ - ทำความเข้าใจข้อจำกัดอัตราคำขอและการจัดการข้อผิดพลาดใน API ของ Kencang.in
รหัสสถานะที่ต้องจัดการ
  • 400 คำขอไม่ถูกต้อง: เนื้อความไม่ใช่ JSON ที่ถูกต้องหรือพารามิเตอร์ที่จำเป็นขาดหายไป ตรวจสอบ Content-Type และโครงสร้างเพย์โหลด
  • 401 ไม่ได้รับอนุญาต: รหัส API หายไป ไม่ถูกต้อง หรือถูกเพิกถอนแล้ว อย่าลองอีกครั้ง แก้ไขล็อค
  • 403 ต้องห้าม: คุณลักษณะที่ไม่รวมอยู่ในแพ็กเกจของคุณ เช่น โดเมนที่มีแบรนด์ในแพ็กเกจฟรี หรือโควต้าลิงก์รายเดือนหมด
  • 404 ไม่พบ: ไม่มี ID ลิงก์หรือไม่ได้เป็นของบัญชีของคุณ
  • 429 คำขอมากเกินไป: ขีดจำกัดอัตรา รอและทำซ้ำ
  • 500/502/503: การหยุดชะงักชั่วคราวทางฝั่งเซิร์ฟเวอร์ ลองอีกครั้งโดยใช้การถอยกลับ สูงสุดหลายครั้ง จากนั้นจึงบันทึกเพื่อตรวจสอบ

นอกจากสถานะ HTTP แล้ว เนื้อหาการตอบสนองจะโหลดอยู่เสมอ error และ message. ข้อผิดพลาดในการตรวจสอบธุรกิจ เช่น "มีการใช้ชื่อย่อแล้ว" หรือ "URL ถูกบล็อกเนื่องจากเป็นอันตราย" จะถูกส่งกลับด้วยสถานะ 200 และ error: 1. ดังนั้นตรวจสอบทั้งสองออก การตรวจสอบความปลอดภัยของ URL มีการอธิบายไว้ในบทความ ความปลอดภัยของลิงก์สั้น.

การทำงานซ้ำโดยให้ผลเดิมและรายการซ้ำ

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

การบันทึกที่มีประโยชน์

หมายเหตุสำหรับการเรียกใช้แต่ละรายการ: เอนด์พอยต์, สถานะ HTTP, ค่า X-RateLimit-Remainingและ message เมื่อเกิดข้อผิดพลาด อย่าบันทึกคีย์ API บันทึกเหล่านี้ช่วยให้เห็นรูปแบบ เช่น รหัส 429 เพิ่มขึ้นทุกเช้าเวลา 9 น. เมื่อ cron ทำงาน จากนั้นจึงกระจายตารางการทำงาน

ควรอัปเกรดแพ็กเกจเมื่อใด

หากบันทึกแสดงว่าคุณถึงขีดจำกัดเป็นประจำแม้จะทำการแบทช์ นั่นเป็นสัญญาณของการโหลดจริง ไม่ใช่จุดบกพร่อง แพ็กเกจธุรกิจให้บริการ 300 คำขอต่อนาทีและลิงก์ไม่จำกัด สำหรับความต้องการข้างต้น ติดต่อเรา สำหรับแพ็กเกจแบบกำหนดเอง ตัวอย่างโค้ดพื้นฐานสำหรับทั้งสามภาษาอยู่ในบทความ ตัวอย่างโค้ด APIและเอกสารฉบับสมบูรณ์ได้ที่ หน้านักพัฒนาซอฟต์แวร์.

คำถามที่พบบ่อย

ขีดจำกัดอัตราคำนวณต่อบัญชีหรือต่อคีย์

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

คำขอที่ถูกปฏิเสธด้วยจำนวน 429 นับหรือไม่

ไม่ คำขอที่ถูกปฏิเสธเนื่องจากเกินขีดจำกัดจะไม่ลดโควต้านาทีถัดไป แต่การส่งคำขออย่างต่อเนื่องเมื่อทรัพยากรสิ้นเปลืองถูกควบคุมแล้ว ดังนั้นให้เคารพส่วนหัว Retry-After

จะเพิ่มขีดจำกัดคำขอได้อย่างไร

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

ข้อผิดพลาด 5xx หมายความว่าลิงก์ของฉันหายไปหรือไม่

ไม่ ข้อผิดพลาด 5xx บ่งชี้ว่าการประมวลผลคำขอหยุดชะงักชั่วคราว ไม่ใช่การสูญเสียข้อมูล ลองอีกครั้งโดยถอยกลับ หากไฟฟ้าดับต่อเนื่องนานกว่าสองสามนาที โปรดตรวจสอบหน้าสถานะหรือติดต่อเรา

Tim Kencang.in

Ditulis oleh tim produk dan marketing Kencang.in, pemendek link, QR code dinamis, dan bio page buatan Indonesia yang dioperasikan oleh PT Kode Digital Solusindo. Kami menulis berdasarkan pengalaman mengelola kampanye klien dan membangun fitur yang dibahas.

Tentang Kencang.in ติดต่อเรา