Saat gateway cloud-native menerima permintaan, gateway tersebut mengevaluasi aturan routing yang dikonfigurasi dari prioritas tertinggi ke terendah dan meneruskan permintaan ke layanan tujuan yang ditentukan dalam aturan pertama yang sesuai. Jika tidak ada aturan yang cocok, gateway mengembalikan kode status HTTP 404.
Prasyarat
Instans gateway cloud-native yang sudah ada.
Nama domain yang sudah ada untuk dicocokkan oleh rute, atau nama domain yang Anda buat saat mengonfigurasi rute.
Sumber layanan yang sudah ada yang menyediakan layanan backend untuk rute tersebut.
Batasan
Batasan berikut berlaku saat Anda membuat rute:
Service sources — Jika Source Type diatur ke MSE Nacos atau MSE Zookeeper, Anda hanya dapat menambahkan satu sumber. Jika Source Type diatur ke Container Service, Anda dapat menambahkan hingga lima sumber. Jika Source Type diatur ke EDAS Built-in Registry atau SAE Built-in Registry, jumlah sumber tidak dibatasi.
Traffic weights — Total persentase traffic dari layanan tujuan yang menggunakan bobot harus mencapai 100%.
Fallback — Fallback hanya didukung antar layanan HTTP.
Prosedur
Login ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.
Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Di halaman Gateways, klik ID gateway tersebut.
Di panel navigasi kiri, klik Routes. Di tab Routes, klik Add Route.
Di halaman Add Route, konfigurasikan parameter yang dijelaskan dalam Parameter rute, lalu klik Save.
Parameter rute
Tabel berikut menjelaskan parameter yang Anda konfigurasi saat membuat rute.
| Parameter | Deskripsi |
| Route Name | Nama kustom untuk rute tersebut. Anda juga dapat mengklik Add Description untuk memberikan deskripsi rute. |
| Domain Name | Pilih nama domain yang ingin Anda cocokkan untuk rute tersebut. Anda dapat memilih beberapa nama domain. Untuk membuat nama domain, klik Add Domain Name dan buat nama domain di panel yang muncul. |
| Match Rule | Aturan pencocokan digabungkan dengan logika AND. Semakin banyak aturan yang Anda tentukan, semakin sempit jangkauan permintaan yang sesuai. Untuk informasi lebih lanjut tentang cara mengurutkan aturan pencocokan, lihat Prioritas pencocokan rute. |
| Path | Tentukan parameter Path yang digunakan untuk mencocokkan permintaan HTTP. Jika rute menggunakan aturan pencocokan yang sama, semakin panjang nilai Path, semakin tinggi prioritasnya. Jika rute menggunakan aturan pencocokan yang berbeda, prioritasnya adalah sebagai berikut: Equal To > Prefix > Regular Expression Match. Equal To: pencocokan eksak. Misalnya, nilai Path sama dengan /user. Prefix: menggunakan awalan sebagai kondisi pencocokan. Misalnya, nilai Path diawali dengan /user. Regular Expression Match: menggunakan ekspresi reguler sebagai kondisi pencocokan. |
| Method | Tentukan parameter Method yang digunakan untuk mencocokkan permintaan HTTP. Anda dapat memilih beberapa metode HTTP. Nilai default-nya adalah ANY. |
| Header | Tentukan parameter Header yang digunakan untuk mencocokkan permintaan HTTP. Jika rute menggunakan aturan pencocokan yang sama, semakin besar jumlah total pasangan kunci-nilai, semakin tinggi prioritasnya. |
| Query Parameters | Tentukan parameter Query yang digunakan untuk mencocokkan permintaan HTTP. Jika rute menggunakan aturan pencocokan yang sama, semakin besar jumlah total pasangan kunci-nilai, semakin tinggi prioritasnya. |
| Scenario | Pilih jenis layanan tujuan untuk rute saat ini. Skenario dasar: Single Service. Skenario rilis canary: Multiple Services dan Tag-based Routing. Skenario lain: Mock dan Redirect. Untuk informasi lebih lanjut tentang jenis layanan tujuan, lihat Mode routing. |
| Backend Service | Pilih layanan backend yang terkait dan port-nya. Klik Associate Service untuk memilih sumber dan layanan di panel yang muncul. Jumlah sumber yang dapat Anda tambahkan bervariasi tergantung pada jenis sumber. Untuk detailnya, lihat Batasan. |
| Fallback | Tentukan layanan fallback sesuai kebutuhan bisnis Anda. Jika tidak ada node yang tersedia untuk layanan backend yang dituju oleh rute tersebut, permintaan asli akan diarahkan ke layanan fallback yang Anda tentukan di sini. |
| Timeout Period (s) | Masukkan periode timeout. Nilai default-nya adalah 60 detik. Nilai 0 berarti permintaan tidak pernah timeout. |
| Number of Retries (times) | Masukkan jumlah retry. Nilai default-nya adalah 2. Nilai 0 menonaktifkan retry. |
| Retry Conditions | Pilih kondisi retry. |
| Retry Status Code | Tambahkan satu atau beberapa kode status retry. |
Prioritas pencocokan rute
Jika terdapat beberapa aturan routing, aturan tersebut diurutkan dari prioritas tertinggi ke terendah dalam urutan berikut: Domain Name > Path > request header > Query Parameters > Created At. Aturan berikut berlaku:
Domain Name: Semakin panjang string nama domain, semakin tinggi prioritasnya.
Path:
Jika Match Rule berbeda, prioritasnya adalah sebagai berikut: Equal To > Prefix > Regular Expression Match.
Jika Match Rule sama, semakin panjang string Path, semakin tinggi prioritasnya.
Header: Semakin besar jumlah total pasangan kunci-nilai, semakin tinggi prioritasnya.
Query Parameters: Semakin besar jumlah total pasangan kunci-nilai, semakin tinggi prioritasnya.
Waktu pembuatan: Semakin awal rute dibuat, semakin tinggi prioritas rute tersebut.
Prioritas pencocokan rute sama dengan urutan tampilan rute di halaman konfigurasi rute.
Referensi
Anda dapat mengubah aturan routing kapan saja sesuai skenario aktual dan kebutuhan yang berubah. Untuk petunjuknya, lihat Ubah aturan routing.