Saat Cloud-native API Gateway memproses permintaan masuk, gateway tersebut mengevaluasi aturan rute yang telah dikonfigurasi berdasarkan urutan prioritas menurun. Jika permintaan sesuai dengan suatu aturan, gateway akan meneruskannya ke layanan backend yang ditentukan dalam aturan tersebut. Jika tidak ada aturan yang sesuai, gateway mengembalikan error 404.
Prioritas pencocokan rute
Aturan prioritasnya adalah sebagai berikut: Associated Domain Name > Path > Header > Query Parameters > Created At.
-
Berdasarkan Associated Domain Name: Semakin panjang string domain, semakin tinggi prioritasnya.
-
Berdasarkan Path:
-
Untuk tipe Match Rule yang berbeda, prioritasnya adalah: Equals To > Prefix > Regular Expression Match.
-
Untuk tipe Match Rule yang sama, string Path yang lebih panjang memiliki prioritas lebih tinggi.
-
-
Berdasarkan jumlah total pasangan kunci-nilai dalam Header: Semakin banyak pasangan, semakin tinggi prioritasnya.
-
Berdasarkan jumlah total pasangan kunci-nilai dalam Query Parameters: Semakin banyak pasangan, semakin tinggi prioritasnya.
-
Berdasarkan Created At: Semakin awal waktu pembuatan, semakin tinggi prioritasnya.
Prosedur
-
Cloud-native API Gateway menyediakan dua cara untuk membuat rute: dari luar instans atau dari dalam instans.
Di luar instans
-
Masuk ke Konsol Cloud-native API Gateway. Di panel navigasi sebelah kiri, pilih API. Di bilah menu atas, pilih wilayah.
-
Klik API target. Di daftar drop-down yang muncul, pilih instans tempat rute akan dikonfigurasi, atau pilih All Instances. Dari menu drop-down All Instances di bagian atas, pilih instans target.
-
Klik Create Route.
Di dalam instans
-
Masuk ke Konsol Cloud-native API Gateway. Di panel navigasi sebelah kiri, pilih Instance. Di bilah menu atas, pilih wilayah.
-
Di halaman Instance, klik ID instans gateway target. Di panel navigasi sebelah kiri, pilih API, lalu klik API target.
-
Klik Create Route.
-
-
Di halaman Create Route, konfigurasikan parameter, lalu klik Save atau Save and Publish.
Catatan-
Aturan pencocokan digabungkan menggunakan logika AND. Semakin banyak aturan yang Anda tentukan, semakin sempit cakupan pencocokannya.
-
Prioritas pencocokan rute sesuai dengan urutan tampilannya di halaman konfigurasi rute.
Parameter
Deskripsi
Route Name
Masukkan nama kustom untuk rute tersebut.
Route Description
Klik Add Route Description untuk memasukkan deskripsi rute.
Domain Name
-
Pilih satu atau beberapa domain agar rute tersebut sesuai.
-
Untuk membuat domain baru, klik Add Domain dan buat di panel yang muncul.
Path
Menentukan parameter path dalam permintaan HTTP yang akan dicocokkan.
-
Untuk tipe aturan pencocokan yang sama, string path yang lebih panjang memiliki prioritas lebih tinggi.
-
Untuk tipe aturan pencocokan yang berbeda, prioritasnya adalah: Equals To > Prefix > Regular Expression Match.
-
Equals To: Path permintaan harus cocok secara eksak. Misalnya, harus tepat
/user. -
Prefix: Path permintaan harus diawali dengan awalan yang ditentukan, misalnya
/user. -
Regular Expression Match: Path permintaan harus sesuai dengan ekspresi reguler yang ditentukan.
-
Method
Menentukan parameter method dalam permintaan HTTP yang akan dicocokkan. Anda dapat memilih beberapa metode HTTP. Nilai default-nya adalah ANY.
Header
Menentukan parameter header dalam permintaan HTTP yang akan dicocokkan. Untuk tipe aturan pencocokan yang sama, aturan dengan lebih banyak parameter memiliki prioritas lebih tinggi.
Query Parameters
Menentukan parameter kueri dalam permintaan HTTP yang akan dicocokkan. Untuk tipe aturan pencocokan yang sama, aturan dengan lebih banyak parameter memiliki prioritas lebih tinggi.
Instance
Pilih instans Cloud-native API Gateway tempat rute tersebut akan berlaku.
Scenario
Pilih tipe layanan target untuk rute saat ini.
-
Dasar: Single Service
-
Rilis grayscale: By Percentage (Multi-service), Tag (Tag-based Routing)
-
Lainnya: Mock, Redirect
Untuk informasi selengkapnya tentang berbagai jenis layanan target, lihat Routes.
CatatanJumlah bobot traffic untuk semua layanan target berbobot harus 100%.
Backend Services
Pilih layanan backend dan port yang terkait.
Catatan-
Anda dapat mengklik Associated Service untuk memilih sumber dan layanan di panel tersebut.
-
Tipe sumber yang berbeda memiliki batasan berbeda terhadap jumlah sumber yang dapat ditambahkan.
-
Anda dapat menambahkan maksimal lima sumber untuk Container Service.
-
Anda hanya dapat menambahkan satu sumber Nacos atau Zookeeper.
-
Timeout Period (seconds)
Masukkan durasi timeout. Nilai default-nya adalah 60 detik. Nilai 0 berarti tanpa timeout.
Fallback
Tentukan layanan fallback. Jika layanan backend untuk suatu rute tidak memiliki node yang tersedia, gateway akan meneruskan permintaan asli ke layanan fallback yang ditentukan.
CatatanSaat ini, fitur fallback hanya didukung antar layanan HTTP.
Retry Times
Masukkan jumlah percobaan ulang. Nilai default-nya adalah 2. Nilai 0 menonaktifkan percobaan ulang.
Retry Condition
Pilih kondisi yang memicu percobaan ulang.
Retry Status Code
Tambahkan satu atau beberapa kode status yang memicu percobaan ulang.
-