全部产品
Search
文档中心

:Buat aturan pembatasan parameter panas untuk permintaan RPC atau permintaan antarmuka kustom

更新时间:Jul 06, 2025

Setelah membuat aturan pembatasan parameter panas untuk aplikasi, Microservices Engine (MSE) menganalisis dan mengumpulkan statistik tentang parameter panas yang paling sering diakses selama pemanggilan sumber daya. MSE juga membatasi pemanggilan sumber daya yang melibatkan parameter panas untuk memastikan stabilitas sistem. Topik ini menjelaskan cara membuat aturan tersebut.

Informasi latar belakang

Data panas adalah data yang sering diakses. Dalam beberapa skenario, Anda perlu mengumpulkan statistik tentang data yang paling sering diakses dan melakukan kontrol akses terhadap data tersebut, seperti:

  • Batasi akses ke ID produk yang paling sering dibeli dalam periode tertentu untuk mencegah lonjakan permintaan ke database akibat kerusakan cache.

  • Batasi akses dari ID pengguna yang sering mengirim permintaan dalam periode tertentu untuk mencegah spamming.

MSE menggunakan kebijakan least recently used (LRU) untuk mengumpulkan statistik tentang parameter panas yang paling sering diakses. Pembatasan dilakukan berdasarkan algoritma token bucket.

Prosedur

  1. Masuk ke Konsol MSE, lalu pilih wilayah di bilah navigasi atas.

  2. Di panel navigasi kiri, pilih Microservices Governance > Application Governance.

  3. Di halaman Application list, klik kartu sumber daya aplikasi yang diinginkan.

  4. Pilih salah satu metode berikut untuk membuat aturan pembatasan parameter panas untuk antarmuka RPC atau antarmuka kustom.

    Metode 1: Buat aturan di halaman Detail API
    • Antarmuka RPC: Di panel navigasi kiri, klik API Details. Kemudian, klik tab RPC service. Pilih antarmuka, klik tab Hotspot Parameter Protection (RPC) di panel kanan, lalu klik Add Hotspot Parameter Protection (RPC) Rule.

    • Antarmuka Kustom: Di panel navigasi kiri, klik API Details. Kemudian, klik tab Custom Interface. Pilih antarmuka, klik tab Perlindungan Parameter Panas di panel kanan, lalu klik Add Hot Parameter Protection (Custom Interface) Rule.

    Metode 2: Buat aturan di tab Perlindungan Aliran

    Di panel navigasi kiri, klik Traffic management. Di halaman Traffic management, klik tab Flow protection, klik subtab Perlindungan Parameter Panas (RPC/Antarmuka Kustom), lalu klik Add Hot Parameter Protection (RPC/Custom Interface).

  5. Di kotak dialog yang muncul, konfigurasikan parameter, lalu klik New.

    Untuk informasi lebih lanjut tentang parameter, lihat bagian Parameter dari topik ini.

Skenario 1: Penjualan kilat produk panas

Dalam skenario penjualan kilat, sistem mungkin gagal merespons segera atau bahkan berhenti merespons karena lonjakan trafik. Untuk memastikan stabilitas sistem, Anda dapat membuat aturan pembatasan parameter panas. Jika ambang batas terlampaui, sistem akan menempatkan permintaan berlebih untuk membeli produk panas dalam antrian.

Sebagai contoh, jika jumlah permintaan untuk membeli produk melebihi 100 dalam 1 detik, sistem akan memproses 100 permintaan per detik dan menempatkan permintaan berlebih dalam antrian. Untuk membuat aturan pembatasan parameter panas untuk permintaan panggilan prosedur jarak jauh (RPC), konfigurasikan informasi berikut di kotak dialog Add Hot Parameter Protection (RPC/Custom Interface):

  • Tentukan nilai untuk parameter Interface name.

  • Atur parameter Parameter position Index ke indeks parameter panas yang ditentukan selama pelacakan. Indeks dimulai dari 0 dan sesuai dengan indeks dalam daftar parameter metode RPC atau metode pelacakan kustom.

    Sebagai contoh, untuk metode RPC com.aliyun.demo:methodA(param0, param1, ……), indeks 0 sesuai dengan param0. Untuk metode pelacakan kustom SphU.entry("demoResource",EntryType.IN, 1, param0, param1, ……), indeks 0 sesuai dengan param0.

  • Atur parameter Statistical dimension ke Number of requests.

  • Atur parameter Statistical cycle time ke 1 dalam satuan detik dan parameter Single machine threshold ke 100.

  • Atur parameter Flow control effect ke Waiting in line.

  • Atur parameter Timeout menjadi 30. Satuan: milidetik.

Setelah aturan dibuat, jika operasi API ini dipanggil lebih dari 100 kali dalam 1 detik, permintaan berlebih akan diantrikan. Jika permintaan diantrikan selama lebih dari 30 milidetik, permintaan tersebut langsung gagal.

Skenario 2: Permintaan sering yang menghabiskan banyak sumber daya sistem

Dalam skenario penjualan kilat, pelanggan mungkin perlu memodifikasi alamat pengiriman pesanan. Jika sejumlah besar permintaan untuk memodifikasi alamat dikirim ke sistem, banyak sumber daya digunakan untuk menulis data ke database. Dalam kasus ini, Anda dapat membuat permintaan berlebih yang melibatkan parameter panas langsung gagal. Untuk membuat aturan pembatasan parameter panas untuk permintaan RPC, konfigurasikan informasi berikut di kotak dialog Add Hot Parameter Protection (RPC/Custom Interface):

  • Tentukan nilai untuk parameter Interface name.

  • Atur parameter Parameter position Index ke indeks parameter panas yang ditentukan selama pelacakan. Indeks dimulai dari 0 dan sesuai dengan indeks dalam daftar parameter metode RPC atau metode pelacakan kustom.

    Sebagai contoh, untuk metode RPC com.aliyun.demo:methodA(param0, param1, ……), indeks 0 sesuai dengan param0. Untuk metode pelacakan kustom SphU.entry("demoResource",EntryType.IN, 1, param0, param1, ……), indeks 0 sesuai dengan param0.

  • Atur parameter Statistical dimension ke Concurrent number.

  • Atur parameter Statistical cycle time ke 1 dalam satuan detik dan parameter Single machine threshold ke 100.

  • Atur parameter Flow control effect ke Fast failure.

Setelah aturan dibuat, sistem dapat memproses hingga 100 permintaan per detik. Permintaan berlebih langsung gagal.

Parameter

Tabel berikut menjelaskan parameter yang dapat Anda konfigurasikan di kotak dialog Add Hot Parameter Protection (RPC/Custom Interface).

Parameter

Deskripsi

Interface name

Nama antarmuka tempat Anda ingin menerapkan aturan. Nama tersebut harus sama dengan nama sumber daya yang ditentukan selama pelacakan.

Parameter position Index

Indeks parameter panas yang ditentukan selama pelacakan. Indeks dimulai dari 0 dan sesuai dengan indeks dalam daftar parameter metode RPC atau metode pelacakan kustom. Sebagai contoh, untuk metode RPC com.aliyun.demo:methodA(param0, param1, ……), indeks 0 sesuai dengan param0. Untuk metode pelacakan kustom SphU.entry("demoResource",EntryType.IN, 1, param0, param1, ……), indeks 0 sesuai dengan param0.

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 permintaan per detik (QPS) adalah 5, setiap parameter panas dapat diakses paling banyak lima kali dalam 10 detik.

Single machine threshold

Ambang batas QPS untuk setiap parameter panas.

Flow control effect

Mode di mana permintaan yang diblokir diproses. Anda dapat mengonfigurasi parameter ini jika Anda mengatur parameter Statistical dimension ke Number of requests. Nilai valid:

  • Fast failure: Permintaan langsung 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 trafik.

  • Waiting in line: Dalam mode ini, sistem menempatkan permintaan dalam antrian dan memproses permintaan dengan kecepatan konstan. Mode ini biasanya digunakan dalam skenario seperti peak-load shifting antrian pesan (MQ). Anda harus menentukan periode timeout. Durasi antrian diperkirakan saat permintaan diantrikan. Jika durasi antrian yang diperkirakan melebihi periode timeout yang ditentukan, permintaan langsung ditolak. Sebagai contoh, jika parameter Single machine threshold diatur ke 5, sistem memproses permintaan setiap 200 milidetik dan menempatkan permintaan berlebih dalam antrian. Jika Anda mengatur periode timeout ke 1.000 milidetik dan lebih dari lima permintaan diantrikan, permintaan berlebih ditolak.