Digital Transformation
Rate Limiting
Rate Limiting adalah teknik pembatasan jumlah request yang bisa dikirim ke API atau layanan dalam periode waktu tertentu untuk mencegah abuse, melindungi server, dan menjaga kualitas layanan.
TL;DR: Rate Limiting membatasi berapa banyak request yang bisa diproses API per pengguna per satuan waktu, misalnya 100 request per menit. Tujuannya melindungi server dari overload, mencegah abuse, dan memastikan distribusi sumber daya yang adil.
Apa itu Rate Limiting?
Rate Limiting adalah kontrol akses pada layer API yang membatasi frekuensi request. Implementasi umum menggunakan algoritma seperti Token Bucket, Leaky Bucket, atau Fixed Window Counter. Tanpa rate limiting, satu klien yang mengirim ribuan request per detik bisa menjatuhkan layanan untuk semua pengguna lain.
Cara Kerja
| Algoritma | Cara Kerja Singkat |
|---|---|
| Fixed Window | Hitung request per jendela waktu tetap, reset di awal periode |
| Sliding Window | Jendela bergerak, lebih halus daripada fixed |
| Token Bucket | Token diregenerasi konstan, request memakai token |
| Leaky Bucket | Antrian dengan output rate konstan |
Response standar saat limit tercapai: HTTP 429 (Too Many Requests) dengan header Retry-After yang menunjukkan kapan klien boleh request lagi.
Kenapa Penting?
Untuk developer dan pebisnis yang membangun produk SaaS atau integrasi via Webhook, rate limiting adalah mekanisme proteksi wajib. Tanpa itu, satu loop bug di klien bisa menghabiskan kuota database, memicu biaya cloud yang membengkak, atau memicu blokir dari penyedia API eksternal seperti Google atau Meta.
Pertanyaan Umum
Apakah rate limiting sama dengan throttling?
Mirip tapi beda nuansa. Rate limiting menolak request berlebih (HTTP 429), throttling memperlambat tanpa menolak total.
Berapa rate limit yang wajar?
Tergantung use case. Public API biasanya 60-100 request per menit per IP, internal API bisa lebih longgar.
Istilah Terkait