Layanan email sementara memiliki beberapa beban kerja yang berbeda: menghasilkan alamat, menampilkan daftar email, membuka isi, menerima lalu lintas SMTP, dan menjalankan pekerjaan administratif. Batas global tunggal tidak dapat menggambarkan semua risiko mereka.
Letakkan pemeriksaan murah terlebih dahulu
Validasi rute, metode, ukuran input, dan kredensial yang diperlukan sebelum melakukan pekerjaan basis data atau penyimpanan objek yang mahal. Gunakan cache terbatas untuk metadata yang sesuai dan hindari membuat status per‑kunci tak terbatas dari pengidentifikasi yang belum diverifikasi. Pemeriksaan akses tetap harus diterapkan pada respons yang di‑cache.
Anggarkan setiap beban kerja
| Beban Kerja | Kontrol yang Berguna |
|---|---|
| Polling kotak masuk anonim | Anggaran permintaan, panduan backoff, dan validasi sesi. |
| Penggunaan API terautentikasi | Batas yang terkait dengan kredensial dan operasi. |
| Ingesti SMTP | Batas koneksi, ukuran pesan, dan pekerjaan penerima. |
| Pekerjaan pemeliharaan | Batch kecil dan konkurensi terbatas. |
Bedakan lonjakan dari penyalahgunaan berkelanjutan
Klien yang sah dapat mencoba kembali setelah kegagalan jaringan. Catat cukup informasi untuk membedakan lonjakan tersebut dari lalu lintas berkelanjutan yang mengabaikan batas. Respons bertahap dapat mencakup memperlambat permintaan, penolakan sementara, atau pencabutan kredensial ketika bukti dan kebijakan mendukungnya.
Verifikasi jalur kegagalan
Uji bahwa permintaan yang ditolak tidak tetap melakukan pekerjaan yang mahal. Pastikan bahwa klien yang berperilaku baik memahami respons retry dan bahwa akses kotak masuk istimewa tidak dapat dilewati dengan mengubah endpoint.
Ini adalah daftar periksa arsitektural, bukan klaim bahwa setiap kontrol diaktifkan pada setiap penyebaran. Batas layanan dan aturan akses saat ini harus diambil dari dokumentasi situs dan respons API.