Aturan isolasi mengontrol jumlah thread konkuren untuk antarmuka dan dependensi guna memastikan stabilitas sistem. Aturan ini umumnya digunakan dalam skenario ketika proses internal aplikasi atau dependensi downstream menjadi tidak stabil, seperti pernyataan SQL yang lambat atau peningkatan waktu tanggapan dari aplikasi downstream. Topik ini menjelaskan cara mengonfigurasi dan mengelola aturan isolasi.
Prasyarat
Microservices Engine (MSE) Edisi Perusahaan telah diaktifkan.
Fitur Microservices Governance MSE telah diaktifkan untuk aplikasi layanan mikro Anda. Untuk informasi selengkapnya, lihat topik berikut:
Informasi latar belakang
Jika suatu metode atau antarmuka dari dependensi kuat menjadi tidak stabil, Anda dapat membatasi jumlah thread konkurennnya untuk mengisolasi masalah tersebut. Ketika waktu tanggapan suatu permintaan meningkat, jumlah thread konkuren juga meningkat. Jika jumlah thread konkuren melebihi ambang batas, MSE akan menolak permintaan tambahan hingga tugas-tugas yang tertunda selesai dan jumlah thread berkurang. Pendekatan ini mengisolasi pengecualian dan meningkatkan stabilitas sistem.
Gunakan informasi berikut untuk menetapkan ambang batas konkurensi:
Konkurensi = Queries Per Second (QPS) yang Diharapkan × Waktu tanggapan + Redundansi.
Sebagai contoh, asumsikan waktu eksekusi SQL yang diharapkan adalah 20 ms, QPS yang diharapkan adalah 20, dan konkurensi maksimum adalah 6. Tetapkan ambang batas konkurensi berdasarkan logika berikut: Max(20/1000 × 20, 6) = 6. Tambahkan redundansi sebesar 2. Ambang batas konkurensi yang direkomendasikan adalah 8.
Setelah ambang batas ditetapkan, jika deadlock atau masalah kinerja menyebabkan pernyataan SQL berjalan lambat, hanya akan digunakan 8 thread. Hal ini mencegah permintaan masuk yang tidak dapat diproses dengan cepat menghabiskan thread aktif proses.
Ketika pernyataan SQL kembali normal, jumlah thread konkuren akan cepat berkurang. Begitu jumlah tersebut turun di bawah ambang batas, sistem berhenti menolak permintaan, dan kemampuan pemrosesan aplikasi pun cepat pulih. Metode ini secara otomatis menyesuaikan berdasarkan waktu tanggapan dan mengisolasi aplikasi yang tidak stabil.
Aturan isolasi biasanya digunakan untuk skenario isolasi dependensi kuat.
Prosedur
Masuk ke Konsol MSE, lalu pilih Wilayah di bilah navigasi atas.
Di panel navigasi sebelah kiri, pilih Microservices Governance > Application Governance.
Pada halaman Application list, klik kartu sumber daya aplikasi yang diinginkan.
Pada halaman detail aplikasi, buat aturan isolasi dengan salah satu metode berikut:
Di panel navigasi sebelah kiri, klik Application overview. Pada halaman yang muncul, klik tab Through QPS TOP. Temukan antarmuka target dan klik Isolation di kolom Actions.
Di panel navigasi sebelah kiri, klik API Details. Pada tab Concurrency Isolation, klik Add isolation rule.
Di panel navigasi sebelah kiri, klik Traffic management. Pada tab Flow protection, klik tab Concurrency Isolation, lalu klik Add isolation rule.
Pada kotak dialog Add Isolation Protection Rule atau Add Rule, konfigurasikan parameter dan klik Add.
CatatanUntuk informasi selengkapnya tentang parameter, lihat Informasi selengkapnya.
Contoh: Pastikan sumber daya mencukupi
Ketika waktu tanggapan suatu permintaan meningkat, jumlah thread konkuren juga meningkat. Jika jumlah thread konkuren melebihi ambang batas, MSE akan menolak permintaan tambahan hingga tugas-tugas yang tertunda selesai dan jumlah thread berkurang. Pendekatan ini mengisolasi pengecualian dan meningkatkan stabilitas. Sebagai contoh, waktu eksekusi pernyataan SQL adalah 20 ms dan QPS yang diharapkan adalah 20.
Pada kotak dialog Add Isolation Protection Rule atau Add Rule, tetapkan parameter berikut:
Tetapkan parameter Interface name.
Tetapkan Concurrency threshold ke 10.
Setelah konfigurasi selesai, jika deadlock atau masalah kinerja menyebabkan pernyataan SQL berjalan lambat, hanya akan digunakan 10 thread. Hal ini mencegah permintaan masuk yang tidak dapat diproses dengan cepat menghabiskan thread aktif proses. Ketika pernyataan SQL kembali normal, jumlah thread konkuren akan cepat berkurang. Begitu jumlah tersebut turun di bawah ambang batas, sistem berhenti menolak permintaan, dan kemampuan pemrosesan aplikasi pun cepat pulih. Metode ini secara otomatis menyesuaikan berdasarkan waktu tanggapan dan mengisolasi aplikasi yang tidak stabil.
Informasi selengkapnya
Tabel berikut menjelaskan parameter yang perlu dikonfigurasi pada kotak dialog Add Isolation Protection Rule atau Add Rule.
Item konfigurasi | Deskripsi |
Interface name | Nama sumber daya yang akan diisolasi. |
Concurrency threshold | Ambang batas jumlah thread konkuren untuk sumber daya tersebut. Ini adalah jumlah thread yang sedang berjalan untuk sumber daya tersebut. |