Ketika lalu lintas ke layanan mikro melonjak melebihi kapasitas pemrosesannya, permintaan yang tidak terkendali dapat menghabiskan sumber daya dan menyebabkan gangguan layanan. Aturan throttling memberlakukan batas atas queries-per-second (QPS) per instans pada antarmuka tertentu. Jika QPS melebihi ambang batas yang Anda tetapkan, Microservices Engine (MSE) akan segera menolak permintaan berlebih atau mengantrikannya dengan laju konstan, tergantung pada efek pengendalian aliran yang Anda pilih.
Prasyarat
Sebelum memulai, pastikan Anda telah:
MSE Edisi Perusahaan telah diaktifkan.
Mengaktifkan Microservices Governance untuk aplikasi Anda. Untuk petunjuk penyiapan, lihat:
Cara kerja throttling
Setiap aturan throttling memantau antarmuka tertentu dan menerapkan ambang batas QPS per instans aplikasi.
Ketika lalu lintas melebihi ambang batas tersebut, MSE menangani permintaan berlebih berdasarkan efek pengendalian aliran:
| Flow control effect | Perilaku | Kapan digunakan | Trade-off |
|---|---|---|---|
| Fast failure | Segera menolak permintaan berlebih. Konten respons bergantung pada modul adaptasi yang dikonfigurasi dalam pengaturan sistem aplikasi Anda. | Layanan yang sensitif terhadap latensi, di mana penolakan cepat lebih disukai daripada antrian. | Latensi rendah bagi pemanggil, tetapi permintaan berlebih dibuang. |
| Waiting in line | Mengantrikan permintaan berlebih dan memprosesnya dengan laju konstan. Permintaan yang melebihi periode timeout akan gagal. | Penggeseran beban puncak, di mana Anda ingin meratakan lonjakan lalu lintas dan memproses semua permintaan jika memungkinkan. | Latensi lebih tinggi untuk setiap permintaan, tetapi lebih sedikit permintaan yang dibuang. |
Buat aturan throttling
Masuk ke Konsol MSE dan pilih wilayah di bilah navigasi atas.
Pada panel navigasi kiri, pilih Microservices Governance > Application Governance.
Pada halaman Application list, klik kartu resource aplikasi target.
Buka dialog aturan throttling melalui salah satu jalur berikut:
Dari Application overview: Klik Application overview di panel navigasi kiri. Pada tab Through QPS TOP, temukan antarmuka target lalu klik Flow Control di kolom Actions.
Dari API Details: Klik API Details di panel navigasi kiri. Pada tab WEB service, klik tab Interface Flow Control, lalu klik Add Throttling Rule.
Dari Traffic management: Klik Traffic management di panel navigasi kiri. Klik tab Flow protection, lalu klik tab Interface Flow Control, kemudian klik Add Throttling Rule.
Pada kotak dialog Add Throttling Protection Rule atau Add Rule, konfigurasikan parameter berikut.
Parameter Deskripsi Interface name Antarmuka tempat aturan throttling diterapkan. Whether to open Mengaktifkan atau menonaktifkan aturan. Perubahan berlaku segera. Stand-alone QPS threshold Batas QPS per instans yang memicu aturan. Flow control effect Cara menangani permintaan berlebih. Pilih Fast failure untuk segera menolaknya, atau Waiting in line untuk mengantrikannya dengan laju pemrosesan konstan. Timeout Waktu maksimum (dalam milidetik) yang boleh ditunggu oleh permintaan dalam antrian. Permintaan yang melebihi periode ini akan gagal. Hanya berlaku ketika Flow control effect diatur ke Waiting in line. Klik New.
Contoh: Meratakan lonjakan traffic dengan antrian
Untuk memproses permintaan dengan laju stabil selama jam sibuk alih-alih menolaknya, konfigurasikan aturan throttling dengan antrian:
Tetapkan Stand-alone QPS threshold ke
5.Tetapkan Flow control effect ke Waiting in line.
Tetapkan Timeout ke
5000.
Dengan pengaturan ini, MSE memproses satu permintaan setiap 200 milidetik per instans dan mengantrikan sisanya. Jika suatu permintaan menunggu lebih dari 5.000 milidetik, permintaan tersebut gagal dan MSE mengembalikan respons throttling default, seperti halaman statis atau teks yang telah ditentukan sebelumnya.