Microservices Engine (MSE) mendukung pembuatan aturan pembatasan parameter panas untuk permintaan HTTP. Anda dapat membuat aturan ini untuk menerapkan pembatasan halus pada parameter tertentu dalam permintaan HTTP yang digunakan untuk mengakses aplikasi penyedia layanan web. Untuk aplikasi berbasis kerangka kerja web utama seperti kontainer Servlet, Spring Web, dan Spring Boot, MSE menggunakan aturan pembatasan parameter panas untuk mem-parsing parameter permintaan API dan membatasi panggilan sumber daya berdasarkan dimensi seperti alamat IP sumber, nama host, header permintaan, dan parameter permintaan. Hal ini memastikan stabilitas sistem dan bisnis Anda. Topik ini menjelaskan cara membuat aturan pembatasan parameter panas untuk permintaan HTTP pada sebuah aplikasi.
Aturan pembatasan parameter panas untuk permintaan HTTP sebelumnya dikenal sebagai aturan perlindungan aplikasi web.
Informasi latar belakang
Dalam skenario penyediaan layanan web, Anda dapat membuat aturan pembatasan untuk permintaan API guna melindungi aplikasi Anda. Selain itu, Anda dapat membatasi panggilan sumber daya berdasarkan dimensi seperti alamat IP sumber dan parameter permintaan untuk melindungi aplikasi bisnis Anda dalam berbagai situasi. Sebagai contoh, dalam skenario layanan web dengan lalu lintas tinggi, Anda perlu menerapkan pembatasan untuk permintaan API, terutama dari alamat IP sumber atau ID produk dengan frekuensi akses tertinggi. Contohnya:
Akses ke ID produk yang paling sering dibeli dalam periode waktu tertentu dibatasi untuk mencegah banyak permintaan dikirimkan ke database karena kegagalan cache.
Akses dari alamat IP tempat permintaan sering dikirimkan dalam periode waktu tertentu dibatasi untuk mencegah penyalahgunaan.
Prosedur
Masuk ke Konsol MSE, dan pilih wilayah di bilah navigasi atas.
Di panel navigasi kiri, pilih Microservices Governance > Application Governance.
Di halaman Application list, klik kartu sumber daya aplikasi yang diinginkan.
Di halaman detail aplikasi, klik Rincian API di panel kiri. Di tab Layanan WEB halaman yang muncul, klik tab Hotspot Parameter Protection (HTTP Requests). Di tab Perlindungan Parameter Panas (Permintaan HTTP), klik Buat Baru Perlindungan Parameter Panas (Permintaan HTTP).
Di kotak dialog Buat Baru Perlindungan Parameter Panas (Permintaan HTTP), konfigurasikan parameter dan klik New.
Untuk informasi lebih lanjut tentang parameter, lihat bagian Parameter dari topik ini.
Temukan aturan yang Anda buat dalam daftar aturan dan klik Enable di kolom Status.
Di pesan Tips, klik OK.
Skenario 1: Promo kilat produk populer
Dalam skenario seperti promo kilat, sistem mungkin gagal merespons segera atau bahkan berhenti merespons karena jumlah lalu lintas yang besar. Untuk memastikan stabilitas sistem, Anda dapat membuat aturan pembatasan parameter panas. Jika ambang batas yang ditentukan terlampaui, sistem menolak permintaan berlebih untuk mengakses produk populer.
Sebagai contoh, jika Anda ingin menentukan bahwa sistem memproses maksimal 100 permintaan untuk mengakses produk per detik, Anda dapat mengonfigurasi informasi aturan berikut di kotak dialog Buat Baru Perlindungan Parameter Panas (Permintaan HTTP). Setelah aturan dibuat, sistem memproses maksimal 100 permintaan untuk mengakses setiap produk per detik. Dalam hal ini, sistem menolak permintaan berlebih untuk mengakses setiap produk dan mengembalikan informasi kustom.
Setel parameter Parameter Properties ke URL Parameter.
CatatanSaat mengonfigurasi parameter Properti Parameter, pilih parameter yang menentukan ID produk populer. Sebagai contoh, jika parameter stockId menentukan ID produk, Anda dapat memilih Parameter URL dan memasukkan stockId di bidang Nama Parameter URL.
Masukkan stockId di bidang URL Parameter Name.
Setel parameter Threshold ke 100 permintaan per second.
Setel parameter Flow Control Method ke Fast failure.
Skenario 2: Pencegahan penyalahgunaan jahat
Sebagai contoh, jika banyak permintaan penyalahgunaan jahat terjadi selama promosi, sejumlah besar inventaris produk atau sumber daya server akan terpakai. Dalam hal ini, sistem dapat mengantrekan permintaan berdasarkan alamat IP sumber dan memproses permintaan dengan kecepatan konstan untuk mencegah permintaan berlebih memengaruhi stabilitas layanan.
Untuk membuat aturan pembatasan parameter panas, konfigurasikan informasi aturan berikut di kotak dialog Buat Baru Perlindungan Parameter Panas (Permintaan HTTP). Setelah aturan dibuat, sistem memproses permintaan API dari setiap alamat IP setiap 10 milidetik dan mengantrekan permintaan berlebih. Permintaan yang diblokir langsung gagal jika mereka diantrekan lebih dari 30 milidetik.
Setel parameter Parameter Properties ke Client IP.
Secara default, Number of requests dipilih untuk parameter Threshold Type.
Setel parameter Threshold ke 100 permintaan per second.
Setel parameter Flow Control Method ke Waiting in line.
Setel parameter Timeout ke 30. Unit: milidetik.
Aktifkan Whether to open.
Parameter
Tabel berikut menjelaskan parameter yang dapat Anda konfigurasikan di kotak dialog Buat Baru Perlindungan Parameter Panas (Permintaan HTTP).
Parameter | Deskripsi | |
Configure Protection Rule | ||
Parameter Properties | Parameter permintaan API yang ingin Anda terapkan aturannya.
| |
(Opsional) Pola Pencocokan dan String Pencocokan | Jika Anda memilih Header atau URL Parameters untuk Properti Parameter, Anda dapat mengaktifkan Property Value Match, dan menentukan Match Pattern dan Match String. Match Pattern:
| |
Threshold Type | Tipe ambang batas. Nilai default: Number of requests. | |
Threshold | Ambang batas permintaan per detik (QPS) yang memicu aturan. Anda harus menentukan interval di mana sistem memproses permintaan. Unit yang didukung: detik, menit, jam, dan hari. Sebagai contoh, jika ambang batas disetel ke 10 permintaan per minute, sistem memproses maksimal 10 permintaan per menit. | |
Pengaturan lanjutan | Flow Control Method |
|
Burst size | Jika Anda menyetel parameter Flow Control Method ke Fast failure, Anda dapat menentukan jumlah permintaan tambahan yang diizinkan untuk lonjakan lalu lintas. | |
Expiration Time | Jika Anda menyetel parameter Flow Control Method ke Waiting in line, Anda harus menentukan periode waktu habis. Unit: milidetik. Sebagai contoh, jika ambang batas QPS disetel ke 5 permintaan per detik, sistem memproses permintaan setiap 200 milidetik dan mengantrekan permintaan berlebih. Periode waktu habis menunjukkan durasi antrean maksimum. Permintaan yang durasi antreannya melebihi periode waktu habis langsung ditolak. | |
Whether to open |
| |
Configure Protection Behavior | ||
Association Behavior |
| |