Sebagai unit dasar dari arsitektur sistem, gateway cloud-native mengintegrasikan gateway lalu lintas tradisional dengan gateway mikro-layanan. Integrasi ini secara signifikan mengurangi overhead jaringan dan biaya O&M serta menyediakan berbagai metode tata kelola lalu lintas dan kemampuan observabilitas sistematis. Topik ini menjelaskan cara mengonfigurasi kebijakan routing dan peringatan dengan mengaitkan gateway cloud-native dengan sumber layanan di registri MSE Nacos.
Prasyarat
Gateway cloud-native telah dibuat. Untuk informasi lebih lanjut, lihat Buat gateway cloud-native MSE.
Mesin MSE Nacos telah dibuat. Untuk informasi lebih lanjut, lihat Buat mesin Nacos.
Layanan telah didaftarkan dengan registri MSE Nacos. Untuk informasi lebih lanjut, lihat Daftarkan aplikasi Spring Cloud dengan registri MSE Nacos.
Anda tidak dapat mengaitkan gateway cloud-native dengan layanan lokal yang terdaftar di registri MSE Nacos atau ZooKeeper.
Buat rute
Masuk ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.
Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Pada halaman Gateways, klik ID gateway.
Di panel navigasi kiri, klik tab Routes. Pada tab Routes, klik Add Route.
Pada halaman Add Route, masukkan
springcloud-demodi bidang Routing Rule Name dan pilih * dari daftar drop-down Domain name. Di bagian Path, pilih Prefix dari daftar drop-down dan masukkan / di bidang tersebut. Setel parameter Route Point ke Single Service, dan klik Associate Service dalam daftar drop-down Service Name.
Di panel Associate Service, konfigurasikan parameter sesuai kebutuhan bisnis Anda dan klik OK.

Pilih
nacos-service-consumerdari daftar drop-down Service Name dan klik Save and Advertise.
Konfigurasikan kebijakan routing
Tidak ada kebijakan routing yang dikonfigurasi
Masuk ke Konsol MSE.
Di bilah navigasi atas, pilih wilayah.
Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Pada halaman Gateways, klik ID gateway.
Pada tab Gateway Ingress pada halaman Overview, lihat ingress IP address dari gateway.
CatatanAlamat IP ingress dari gateway cloud-native adalah alamat IP dari instance SLB yang terkait dengan gateway. Anda dapat mengganti instance SLB dengan instance SLB yang dikelola sendiri. Untuk informasi lebih lanjut, lihat Kelola instance SLB yang ditentukan sebagai Ingress.
Jalankan perintah berikut untuk mengirim permintaan pengujian:
curl -I http://8.136.104.xx/echo-rest/helloCatatanPerintah di atas berisi layanan Demo dari sumber layanan Nacos. Anda dapat mengganti URL dengan URL layanan backend Anda.
Hasil berikut dikembalikan:
HTTP/1.1 200 OK Content-Type: text/plain;charset=UTF-8 Content-Length: 5 Date: Thu, 29 Aug 2024 08:21:47 GMT req-cost-time: 9 req-arrive-time: 1724919707979 resp-start-time: 1724919707988 x-envoy-upstream-service-time: 8 server: istio-envoy
Kebijakan throttling dikonfigurasi
Dalam skenario akses konkurensi tinggi, jika tidak ada kebijakan throttling yang tepat yang dikonfigurasi untuk aplikasi Anda, layanan backend mungkin menjadi kelebihan beban karena permintaan berlebih. Ini memengaruhi kecepatan respons layanan atau bahkan menyebabkan layanan crash. Throttling memastikan bahwa jumlah permintaan berada dalam rentang yang dapat ditangani oleh sistem. Anda dapat mengonfigurasi kebijakan throttling untuk gateway cloud-native. Untuk informasi lebih lanjut tentang kebijakan routing, lihat Kebijakan routing.
Masuk ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.
Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Pada halaman Gateways, klik ID gateway.
Di panel navigasi kiri, klik Routes.
Temukan aturan routing yang ingin Anda modifikasi dan klik Policies di kolom Actions.
Di bagian Policies pada halaman yang muncul, klik tab Throttling.
Kebijakan throttling digunakan untuk memantau permintaan per detik (QPS) dari suatu rute. Jika QPS mencapai ambang batas yang ditentukan, lalu lintas segera diblokir. Ini mencegah kerusakan layanan backend akibat lonjakan lalu lintas dan memastikan ketersediaan tinggi layanan backend.
Pada tab Throttling, klik Flow control rules.
Pada tab Throttling Rules, konfigurasikan parameter berikut.

Parameter
Deskripsi
Contoh
Overall QPS Threshold
Masukkan nilai untuk Overall QPS Threshold.
1
Web Fallback Behavior
Pilih Returns the specified content atau Jump to the specified page untuk Web Fallback Behavior.
Mengembalikan konten yang ditentukan
HTTP status code
Masukkan kode status HTTP. Nilai defaultnya adalah 429.
429
Returned Content-Type
Pilih Plain text atau JSON untuk Returned Content-Type.
Teks biasa
HTTP Text
Masukkan teks yang dikembalikan.
springcloud-demo flow limit
Whether to open
Jika Anda menyalakan sakelar ini, kebijakan throttling yang dikonfigurasi akan berlaku.

Klik New atau Save untuk membuat atau memperbarui aturan. Dalam pesan yang muncul, klik OK.
Jalankan skrip berikut untuk mengirim permintaan pengujian:
Windows
@echo off set "localUrl= http://8.136.104.xxx/echo-rest/hello" :loop curl -i -s %localUrl% goto loopLinux
#!/bin/bash URL="http://8.136.104.xxx/echo-rest/hello" while true; do curl -i -s $URL doneHasil berikut dikembalikan. Setelah Anda mengaktifkan kebijakan throttling, kode status HTTP 429 dikembalikan.
helloHTTP/1.1 429 Too Many Requests content-type: text/plain; charset=UTF-8 content-length: 26 date: Thu, 29 Aug 2024 08:54:46 GMT server: istio-envoy springcloud-demo flow limit HTTP/1.1 200 OK Content-Type: text/plain;charset=UTF-8 Content-Length: 5 Date: Thu, 29 Aug 2024 08:54:46 GMT req-cost-time: 8 req-arrive-time: 1724921686961 resp-start-time: 1724921686970 x-envoy-upstream-service-time: 7 server: istio-envoy
Referensi
Anda dapat merujuk ke FAQ tentang gateway cloud-native atau gunakan alat diagnostik AI gateway cloud-native untuk pemecahan masalah. Untuk informasi tentang cara menggunakan alat diagnostik AI, lihat Diagnostik AI gateway cloud-native.