Serverless App Engine (SAE) mengintegrasikan kemampuan perlindungan lalu lintas dari Microservices Engine (MSE). Integrasi ini memungkinkan Anda menggunakan berbagai aturan manajemen lalu lintas seperti throttling, isolasi konkurensi, dan aturan pemutusan sirkuit untuk memastikan stabilitas bisnis. Integrasi ini menyediakan mekanisme perlindungan lalu lintas yang profesional dan andal, serta kemampuan analisis distribusi lalu lintas waktu nyata. Topik ini menjelaskan cara mengonfigurasi aturan perlindungan lalu lintas dan memberikan contoh penggunaan.
Prasyarat
Penyebaran aplikasi telah selesai.
Edisi Perusahaan Tata Kelola Mikroservis MSE telah diaktifkan.
CatatanBiaya tambahan akan dikenakan untuk penggunaan MSE. Untuk informasi tentang aturan penagihan untuk MSE, lihat Ikhtisar Penagihan Tata Kelola Mikroservis.
Batasan
Fitur ini hanya berlaku untuk aplikasi mikroservis yang dibuat pada 8 November 2023 atau setelahnya.
Pergi ke tab Perlindungan Lalu Lintas di konsol SAE
Masuk ke konsol SAE. Di panel navigasi di sebelah kiri, pilih . Pada halaman yang muncul, pilih wilayah di bilah navigasi atas dan namespace dari daftar drop-down Namespace, lalu klik nama aplikasi yang diinginkan.
Di panel navigasi di sebelah kiri, pilih , dan klik tab Traffic Protection.
Konfigurasikan aturan
Buat aturan throttling
Aturan throttling memantau permintaan per detik (QPS) dari aplikasi atau layanan. Ketika QPS mencapai ambang batas yang telah ditentukan, sistem segera memblokir atau membatasi lalu lintas. Ini mencegah aplikasi kewalahan oleh lonjakan lalu lintas mendadak dan memastikan ketersediaan tinggi serta stabilitas aplikasi.
Klik tab Interface Flow Control, lalu klik Add Throttling Rule.
Di kotak dialog Add Throttling Protection Rule, konfigurasikan parameter.
Di langkah Select Protection Scenario, konfigurasikan parameter API Type, Type of Traffic, dan Interface Name, lalu klik Next.
Di langkah Configure Protection Rule, konfigurasikan parameter dan klik Next.
Parameter
Deskripsi
Whether to open
Jika Anda menggeser toggle ke posisi ON, aturan langsung berlaku setelah dibuat. Secara default, aturan dinonaktifkan.
Stand-alone QPS threshold
Ambang batas QPS yang memicu perilaku aturan throttling.
Flow control effect
Metode yang digunakan untuk memproses permintaan yang diblokir. Nilai valid:
Fast failure: Permintaan segera diblokir jika ambang batas QPS tercapai. Konten yang dikembalikan bervariasi berdasarkan konfigurasi modul adaptasi dalam pengaturan sistem aplikasi.
Waiting in line: Permintaan diproses dengan kecepatan konstan dan permintaan yang terakumulasi diatur dalam antrian. Dalam banyak kasus, nilai ini ditentukan untuk skenario seperti penggeseran beban puncak. Anda harus menentukan periode timeout antrian untuk permintaan. Jika waktu antrian permintaan melebihi periode timeout antrian, permintaan gagal.
Di langkah Configure Protection Behavior, pilih perilaku terkait dan klik New.
Setelah aturan dibuat, Anda dapat mengedit atau menghapus aturan di tab Interface Flow Control.
Buat aturan isolasi
Anda dapat membuat aturan isolasi untuk mengontrol jumlah utas konkuren antarmuka atau dependensi guna memastikan stabilitas sistem.
Klik tab Concurrency Isolation, lalu klik Add isolation rule.
Di kotak dialog Add Isolation Protection Rule, konfigurasikan parameter.
Di langkah Select Protection Scenario, konfigurasikan parameter API Type, Type of Traffic, dan Interface Name, lalu klik Next.
Di langkah Configure Protection Rule, konfigurasikan parameter dan klik Next.
Parameter
Deskripsi
Whether to open
Jika Anda menggeser toggle ke posisi ON, aturan langsung berlaku setelah dibuat. Secara default, aturan dinonaktifkan.
Concurrency threshold
Jumlah maksimum utas konkuren untuk memproses permintaan.
Di langkah Configure Protection Behavior, pilih perilaku terkait dan klik New.
Setelah aturan dibuat, Anda dapat mengedit atau menghapus aturan di tab Concurrency Isolation.
Konfigurasikan aturan pemutusan sirkuit
Anda dapat mengonfigurasi aturan pemutusan sirkuit untuk memantau waktu respons (RT) permintaan atau rasio permintaan abnormal untuk aplikasi atau aplikasi hilir tempat aplikasi bergantung. Jika ambang batas yang ditentukan tercapai, sistem segera menurunkan prioritas aplikasi hilir yang bergantung. Sistem tidak memanggil aplikasi hilir yang abnormal dalam periode waktu tertentu. Ini memastikan stabilitas dan ketersediaan tinggi aplikasi Anda. Setelah periode waktu tertentu berakhir, sistem melanjutkan panggilan ke aplikasi hilir yang bergantung.
Di tab Circuit Breaking Rule, klik Add Circuit Breaking Rule.
Di kotak dialog Add Circuit Breaking Rule, konfigurasikan parameter.
Di langkah Select Protection Scenario, konfigurasikan parameter API Type dan Interface Name, lalu klik Next.
Di langkah Configure Protection Rule, konfigurasikan parameter dan klik New.
Parameter
Deskripsi
Statistical window duration
Durasi jendela waktu. Nilai valid: 1 detik hingga 120 menit.
Minimum number of requests
Jumlah minimum permintaan untuk memicu pemutusan sirkuit. Jika jumlah permintaan dalam jendela waktu saat ini kurang dari nilai parameter ini, pemutusan sirkuit tidak dipicu meskipun aturan pemutusan sirkuit terpenuhi.
Threshold Type
Jenis ambang batas. Nilai valid: Slow call ratio (%) dan Abnormal proportion (%).
Jika Anda menetapkan parameter ini ke Slow call ratio, Anda harus menetapkan parameter Slow call RT, yang menentukan ambang batas untuk waktu respons permintaan. Jika waktu respons permintaan melebihi nilai parameter RT panggilan lambat, permintaan dihitung sebagai panggilan lambat.
Anda juga harus menetapkan parameter Circuit Breaking Ratio Threshold, yang menentukan ambang batas persentase yang memicu pemutusan sirkuit untuk panggilan lambat. Setelah aturan pemutusan sirkuit diaktifkan, jika jumlah permintaan dalam jendela waktu yang ditentukan lebih besar dari nilai parameter Minimum number of requests dan persentase panggilan lambat lebih besar dari nilai parameter Ambang Batas Rasio Pemutusan Sirkuit, permintaan secara otomatis diblokir dalam periode pemutusan sirkuit yang ditentukan oleh parameter Circuit Breaking Duration (s). Setelah periode pemutusan sirkuit berakhir, pemutus sirkuit mendeteksi permintaan berikutnya. Jika waktu respons permintaan berikutnya kurang dari nilai parameter Slow call RT, pemutusan sirkuit berakhir. Jika waktu respons permintaan berikutnya lebih besar dari nilai parameter Slow call RT, pemutusan sirkuit dipicu lagi.
Jika Anda menetapkan parameter ini ke Abnormal proportion, Anda harus menetapkan parameter Circuit Breaking Ratio Threshold, yang menentukan ambang batas persentase yang memicu pemutusan sirkuit untuk permintaan abnormal.
Setelah aturan pemutusan sirkuit diaktifkan, jika jumlah permintaan abnormal dalam jendela waktu lebih besar dari nilai parameter Minimum number of requests dan persentase permintaan abnormal lebih besar dari nilai parameter Ambang Batas Rasio Pemutusan Sirkuit, permintaan secara otomatis diblokir dalam periode pemutusan sirkuit yang ditentukan oleh parameter Circuit Breaking Duration (s).
Circuit Breaking Duration (s)
Klik Show Advanced Options. Periode di mana pemutusan sirkuit dilaksanakan. Jika pemutusan sirkuit dilaksanakan pada sumber daya, semua panggilan ke sumber daya gagal dalam periode pemutusan sirkuit yang ditentukan.
Circuit Breaking Policy
Klik Show Advanced Options. Menentukan apakah pemutus sirkuit memicu pemutusan sirkuit lagi setelah periode pemutusan sirkuit berakhir. Nilai valid:
Single detection recovery: Setelah periode pemutusan sirkuit berakhir, pemutus sirkuit mendeteksi permintaan berikutnya. Jika permintaan tersebut bukan panggilan lambat atau permintaan abnormal, pemutusan sirkuit berakhir. Jika tidak, pemutusan sirkuit dipicu lagi.
Progressive recovery: Jika Anda memilih opsi ini, Anda harus menetapkan parameter Number of recovery phases dan Minimum number of passes per step .
Setelah periode pemutusan sirkuit berakhir, pemutus sirkuit melakukan pemulihan progresif berdasarkan jumlah fase pemulihan yang ditentukan. Jika jumlah permintaan dalam suatu fase mencapai nilai parameter Jumlah minimum lolos per langkah, pemeriksaan dipicu. Jika jumlah permintaan yang diperiksa tidak melebihi ambang batas yang dikonfigurasi, persentase permintaan yang diizinkan lolos secara bertahap meningkat hingga semua permintaan diizinkan lolos. Jika jumlah permintaan yang diperiksa melebihi ambang batas yang dikonfigurasi dalam suatu fase, pemutusan sirkuit dipicu lagi.
Persentase permintaan dihitung berdasarkan rumus berikut: Persentase Permintaan (T) = 100/Jumlah fase pemulihan (N). Persentase permintaan di fase pertama adalah T dan persentase permintaan di fase kedua adalah 2T. Perhitungan berakhir hingga persentase permintaan sama dengan 100%.
Sebagai contoh, jika jumlah fase pemulihan adalah 3 dan jumlah minimum permintaan yang diizinkan lolos di setiap fase adalah 5, permintaan didistribusikan dalam tiga fase berdasarkan persentase 33%, 67%, dan 100%. Jika jumlah permintaan di setiap fase lebih besar dari atau sama dengan 5, pemeriksaan dipicu. Jika jumlah permintaan di setiap fase kurang dari 5, sistem masuk ke fase pemulihan berikutnya hingga semua permintaan diizinkan lolos.
Setelah aturan dibuat, Anda dapat mengedit atau menghapus aturan di tab Circuit Breaking Rule.
Buat aturan perlindungan parameter hotspot (RPC)
Setelah Anda membuat aturan RPC untuk aplikasi, sistem menganalisis dan mengumpulkan statistik parameter hotspot yang paling sering diakses selama pemanggilan sumber daya dan membatasi pemanggilan sumber daya yang melibatkan parameter hotspot. Ini memastikan stabilitas sistem.
Klik tab Hotspot Parameter Protection (RPC). Di tab Perlindungan Parameter Hotspot (RPC), klik Add Hotspot Parameter Protection (RPC) Rule.
Di kotak dialog Add Hotspot Parameter Protection (RPC) Rule, konfigurasikan parameter.
Di langkah Select Protection Scenario, konfigurasikan parameter Interface name dan klik Next.
Di langkah Configure Protection Rule, konfigurasikan parameter dan klik Next.
Parameter
Deskripsi
Parameter position Index
Indeks parameter hotspot yang ditentukan selama pelacakan. Indeks ini sesuai dengan indeks parameter dalam
SphU.entry(xxx,args). Sebagai contoh, jika Anda menentukanSphU.entry(resourceName,Entry Type.IN,1,paramA,paramB)selama pelacakan, indeks parameterparamAadalah 0 dan indeks parameterparamBadalah 1.Statistical dimension
Dimensi berdasarkan mana statistik permintaan dikumpulkan. Nilai valid:
Number of requests: membatasi jumlah permintaan dalam periode waktu tertentu.
Concurrent number: membatasi jumlah maksimum permintaan yang dapat diproses secara bersamaan.
Statistical cycle time
Periode statistik. Satuan: detik. Sebagai contoh, jika periode statistik adalah 10 detik dan ambang batas queries per second (QPS) adalah 5, setiap parameter hotspot dapat diakses paling banyak lima kali dalam 10 detik.
Single machine threshold
Ambang batas QPS untuk setiap parameter hotspot.
Flow control effect
Mode di mana permintaan yang diblokir diproses. Anda dapat mengonfigurasi parameter ini jika Anda menetapkan parameter Statistical dimension ke Number of requests. Nilai valid:
Fast failure: Permintaan segera diblokir jika ambang batas QPS tercapai. Dalam mode ini, Anda dapat mengonfigurasi parameter Number of buffered requests, yang menentukan jumlah permintaan tambahan yang diizinkan untuk lonjakan lalu lintas.
Waiting in line: Dalam mode ini, sistem menempatkan permintaan dalam antrian dan memproses permintaan tersebut dengan kecepatan konstan. Mode ini biasanya digunakan dalam skenario seperti penggeseran beban puncak pada antrean pesan (MQ). Anda harus menentukan periode timeout. Durasi antrian yang diperkirakan dihitung saat sebuah permintaan dimasukkan ke dalam antrian. Jika durasi antrian yang diperkirakan melebihi periode timeout yang ditentukan, permintaan akan langsung ditolak. Sebagai contoh, jika parameter Single machine threshold diatur menjadi 5, sistem akan memproses satu permintaan setiap 200 milidetik dan menempatkan permintaan tambahan dalam antrian. Jika Anda mengatur periode Timeout menjadi 1.000 milidetik dan lebih dari lima permintaan berada dalam antrian, permintaan tambahan akan ditolak.
Whether to open
Jika Anda menggeser toggle ke posisi ON, aturan langsung berlaku setelah dibuat. Secara default, aturan dinonaktifkan.
Pada langkah Configure Protection Behavior, pilih perilaku yang sesuai dan klik New.
Setelah aturan dibuat, Anda dapat mengedit atau menghapus aturan di tab Hotspot Parameter Protection (RPC).
Buat aturan throttling parameter hotspot untuk permintaan HTTP
Aturan perlindungan parameter hotspot (permintaan HTTP) dirancang untuk aplikasi yang menyediakan layanan web. Aturan ini memungkinkan kontrol lalu lintas bergranularitas halus berdasarkan parameter seperti IP, Host, Header, dan URL Param untuk memastikan stabilitas layanan dan sistem.
Klik tab Hotspot Parameter Protection (HTTP Requests), lalu klik New Hotspot Parameter Protection (HTTP Requests).
Di kotak dialog New Hotspot Parameter Protection (HTTP Requests), konfigurasikan parameter.
Di langkah Select Protection Scenario, konfigurasikan parameter Interface name dan klik Next.
Di langkah Configure Protection Rule, konfigurasikan parameter dan klik Next.
Parameter
Deskripsi
Parameter Properties
Parameter permintaan API tempat Anda ingin menerapkan aturan.
Client IP: alamat IP klien dari mana permintaan dikirim.
CatatanJika permintaan didistribusikan oleh proxy, sistem pertama-tama mencoba mendapatkan alamat IP dari header permintaan X-Forwarded-For. Jika alamat IP ada, sistem menggunakan alamat IP tersebut sebagai alamat IP klien aktual.
Remote Host: nama host klien dari mana permintaan dikirim.
Header: header HTTP dari permintaan. Setelah Anda menentukan header, aturan berlaku untuk nilai panas dari header. Jika Anda memilih Header, Anda dapat mengonfigurasi mode pencocokan untuk nilai parameter permintaan. Hanya nilai yang cocok dengan mode yang ditentukan yang dikumpulkan dalam statistik dan dilakukan throttling.
URL Parameters: parameter permintaan dalam badan permintaan. Anda harus menentukan nama parameter permintaan. Jika Anda memilih URL Parameter, Anda dapat mengonfigurasi mode pencocokan untuk nilai parameter permintaan. Hanya nilai yang cocok dengan mode yang ditentukan yang dikumpulkan dalam statistik dan dilakukan throttling.
Threshold Type
Jenis ambang batas. Nilai default: Number of requests.
Threshold
Ambang batas QPS yang memicu perilaku aturan throttling. Anda harus menentukan interval di mana sistem memproses permintaan. Unit yang didukung: detik, menit, jam, dan hari.
Sebagai contoh, jika ambang batas ditetapkan pada 10 permintaan per menit, sistem memproses maksimal 10 permintaan per menit.
Whether to open
Jika Anda menggeser toggle ke posisi ON, aturan langsung berlaku setelah dibuat. Secara default, aturan dinonaktifkan.
Flow Control Method
Klik Show Advanced Options.
Fast failure: Permintaan segera diblokir jika ambang batas QPS tercapai.
CatatanJika permintaan diblokir, sistem mengembalikan informasi kustom yang Anda konfigurasikan di langkah Konfigurasikan Perilaku Perlindungan. Jika Anda tidak mengonfigurasi informasi kustom di langkah Konfigurasikan Perilaku Perlindungan, perilaku default yang berisi kode kesalahan 429 dan pesan teks default akan dikembalikan.
Waiting in line: Jika Anda menetapkan parameter Jenis Ambang Batas ke Jumlah permintaan, permintaan yang diblokir diproses dengan kecepatan konstan. Permintaan berlebih dapat diantrekan. Anda harus menentukan periode timeout. Durasi antrian diperkirakan saat permintaan diantrekan. Jika durasi antrian yang diperkirakan melebihi periode timeout yang ditentukan, permintaan langsung gagal tanpa diantrekan. Sebagai contoh, jika ambang batas QPS ditetapkan pada 10 permintaan per detik, sistem memproses permintaan setiap 100 milidetik dan mengantrekan permintaan berlebih. Periode timeout menunjukkan durasi antrian maksimum. Permintaan yang durasi antriannya melebihi periode timeout langsung ditolak.
CatatanJika Anda menetapkan parameter Efek Kontrol Aliran ke Menunggu dalam antrian, kami sarankan Anda menetapkan ambang batas QPS tidak lebih dari 1.000 permintaan per detik.
Burst size
Klik Show Advanced Options. Jika Anda menetapkan parameter Flow Control Method ke Fast failure, Anda dapat menentukan jumlah permintaan tambahan yang diizinkan untuk lonjakan lalu lintas.
Timeout Period
Klik Show Advanced Options. Jika Anda menetapkan parameter Flow Control Method ke Waiting in line, Anda harus menentukan periode timeout. Satuan: milidetik. Sebagai contoh, jika ambang batas QPS ditetapkan pada 5 permintaan per detik, sistem memproses permintaan setiap 200 milidetik dan mengantrekan permintaan berlebih. Periode timeout menunjukkan durasi antrian maksimum. Permintaan yang durasi antriannya melebihi periode timeout langsung ditolak.
Di langkah Configure Protection Behavior, pilih perilaku terkait dan klik New.
Setelah aturan dibuat, Anda dapat mengedit atau menghapus aturan di tab Hotspot Parameter Protection (HTTP Requests).
Kelola perilaku
Perilaku web mendefinisikan perilaku kustom yang akan dilakukan setelah sumber daya instrumentasi tipe web memicu aturan tertentu. Sebagai contoh, pesan kesalahan "Diblokir oleh Sentinel" dikembalikan setelah antarmuka web memicu aturan throttling tertentu.
Buat perilaku
Klik tab Behavior Management, lalu klik New behavior.
Di kotak dialog New behavior, konfigurasikan parameter dan klik New.
Perilaku yang dibuat ditampilkan di tab Behavior Management. Anda dapat modify atau delete perilaku tersebut.
Mengaitkan perilaku dengan aturan
Klik tab Traffic Protection lalu klik tab tempat aturan dikelola. Temukan aturan dan klik Edit di kolom Actions dari aturan tersebut. Selesaikan langkah Select Protection Scenario dan Configure Protection Rules, lalu pilih perilaku dari daftar drop-down Association Behavior di langkah Configure Protection Behavior. Anda juga dapat mengklik New behavior untuk membuat perilaku baru.
CatatanJika Anda tidak perlu menyesuaikan perilaku fallback yang akan dilakukan setelah throttling, pilih Perilaku Default dan biarkan parameter Jenis API tidak ditentukan secara default.
Saat Anda menambahkan aturan throttling, jika antarmuka saat ini sudah terkait dengan perilaku, perilaku tersebut akan diganti oleh perilaku baru yang Anda kaitkan dengan antarmuka.
Jika Anda tidak menentukan parameter Jenis API di langkah Pilih Skenario Perlindungan, perilaku default akan dikaitkan. Setelah Anda menentukan parameter Jenis API dan mengaitkan perilaku tipe yang ditentukan, Anda tidak dapat mengubah tipe tersebut.
Klik Save.