ตัวคำนวณ Exponential Backoff
คำนวณตาราง retry delay แบบ exponential backoff ออนไลน์ฟรี ตั้ง base interval, multiplier, cap และ jitter (full, equal, decorrelated) พร้อมไทม์ไลน์ราย retry และ snippet Python/JS ทำงานฝั่ง client 100%
Loading tool...
ตัวคำนวณ Exponential Backoff คืออะไร?
Exponential backoff คือกลยุทธ์ retry มาตรฐานสำหรับเครือข่ายที่ไม่เสถียรและ service ที่ทำงานหนัก: หลังพยายามแต่ละครั้งล้มเหลวจะหน่วงนานขึ้นเรื่อย ๆ ก่อนลองใหม่ โดยดีเลย์เติบโตตาม multiplier จนถึง cap ที่กำหนดได้ เครื่องมือออนไลน์ฟรีนี้คำนวณดีเลย์ที่แน่นอนของทุก retry จาก base interval, multiplier, cap และจำนวน retry เพิ่ม jitter (full, equal หรือ decorrelated สไตล์ AWS) เพื่อป้องกัน retry storm ที่พร้อมกัน และสรุปเวลาหน่วงกรณีแย่สุด พร้อมสร้าง snippet retry Python และ JavaScript พร้อมใช้งานตามพารามิเตอร์ของคุณ ทำงานทั้งหมดฝั่ง client 100% ในเบราว์เซอร์
ประโยชน์หลัก
- ป้องกัน retry แบบ thundering herd ด้วยการเห็นภาพการกระจายโหลดของ jitter
- ปรับนโยบาย retry ที่เร็วและปลอดภัยที่สุดก่อนเขียนโค้ดแม้แต่บรรทัดเดียว
- รู้เวลาหน่วงรวมกรณีแย่สุดสำหรับ SLA และ timeout ที่ผู้ใช้เห็น
- เทียบกลยุทธ์ jitter ทั้ง 4 แบบบนพารามิเตอร์เดียวกันได้ทันที
- ได้ snippet Python และ JavaScript พร้อมใช้ใน production ในคลิกเดียว
กรณีการใช้งาน
- •ปรับนโยบาย retry ของ API client สำหรับ endpoint ที่จำกัด rate หรือไม่เสถียร
- •ออกแบบ error handling สำหรับ AWS SDK / cloud service ด้วย jitter ที่แนะนำ
- •กำหนด timeout และจำนวน retry ให้การเรียกใช้งานระหว่าง microservice
- •สอนความทนทานของระบบ distributed ด้วยไทม์ไลน์ retry ที่จับต้องได้
- •ตั้งค่าช่วงหน่วง retry ของ message-queue consumer และ webhook delivery
วิธีคำนวณตาราง Exponential Backoff
- ตั้งค่า base interval และ multiplier: Base คือดีเลย์ของ retry แรก ส่วน multiplier (นิยมใช้ 2) ทำให้ดีเลย์ครั้งถัด ๆ ไปเติบโตแบบเรขาคณิต
- ใส่ cap และจำนวน retry: Cap จำกัดดีเลย์ยาวที่สุดของแต่ละครั้ง ส่วนจำนวน retry กำหนดขอบเขตของตาราง
- เลือกโหมด jitter: เลือก none, full, equal หรือ decorrelated เพื่อดูว่าดีเลย์กระจายตัวอย่างไรเมื่อมีหลาย client
- คัดลอกไทม์ไลน์และ snippet: ตรวจไทม์ไลน์ราย retry พร้อมเวลาสะสม แล้วคัดลอก snippet Python หรือ JavaScript ที่ตั้งค่าตามพารามิเตอร์ของคุณไว้แล้ว
คุณสมบัติหลัก
- จัดการ jitter 4 โหมด: none, full, equal และ decorrelated สไตล์ AWS
- ไทม์ไลน์ราย retry พร้อมค่าดิบ หลัง cap และยอดสะสม
- ตั้ง cap ได้พร้อมเทียบค่าก่อนและหลัง cap แบบเรียลไทม์
- Seed แบบ deterministic พร้อมปุ่มสุ่มใหม่สำหรับ jitter ที่ทำซ้ำได้
- คัดลอก snippet Python และ JavaScript ที่สร้างจากพารามิเตอร์ของคุณ