การกำหนด Rate Limit บน Ocelot Gateway

wk
1 min readJan 23, 2020

--

ตัวอย่าง

ต้องการจำกัดจำนวน Request จาก Client ที่ส่งผ่าน Gateway ให้เหลือเพียง 2 Request ต่อวินาที ถ้ามี Request เกินนี้ ให้ส่ง Status 429 Too Many Requests กลับไปยัง Client

ขั้นตอน

  1. Update ไฟล์ ocelot.json โดยเพิ่ม RateLimitOptions ดังนี้

2. ทดสอบว่าโปรแกรมทำงานตรงตามต้องการหรือไม่ ผ่านโปรแกรม wrk

$ wrk -d5s http://localhost/s1/wf

จากภาพ จะเห็นว่า wrk ส่ง Request ไปยัง Gateway ทั้งหมด 8647 ครั้ง ภายใน 5.10 วินาที แต่ Success เพียง 14 ครั้ง เนื่องจาก Request ส่วนใหญ่ไปชนกับ Rate Limit ที่ตั้งไว้

--

--

Responses (1)