All Products
Search
Document Center

Microservices Engine:Rutekan traffic ke layanan MSE Nacos melalui gateway cloud-native

Last Updated:Mar 12, 2026

Gateway cloud-native menggabungkan gateway traffic dan gateway layanan mikro dalam satu lapisan, sehingga mengurangi hop jaringan dan beban operasional sekaligus menyediakan tata kelola lalu lintas dan observabilitas bawaan.

Tutorial ini memandu Anda melalui tiga tugas:

  1. Buat entri rute yang meneruskan permintaan ke layanan yang terdaftar di registri MSE Nacos.

  2. Verifikasi bahwa rute berfungsi.

  3. Tambahkan kebijakan throttling untuk melindungi layanan backend dari lonjakan traffic.

Prasyarat

Sebelum memulai, pastikan sumber daya berikut telah siap:

Penting

Gateway cloud-native tidak dapat dikaitkan dengan layanan on-premises yang terdaftar di registri MSE Nacos atau ZooKeeper.

Langkah 1: Buat entri rute

  1. Masuk ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.

  2. Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Klik nama gateway Anda.

  3. Di panel navigasi kiri, klik Routes, lalu klik Add Route.

  4. Konfigurasikan entri rute dengan pengaturan berikut:

    ParameterNilai
    Routing Rule Namespringcloud-demo
    Domain name* (wildcard)
    Path typePrefix
    Path value/
    Route PointSingle Service

    Add Route page configuration

  5. Pada daftar drop-down Service Name, klik Associate Service. Di panel Associate Service, konfigurasikan parameter untuk lingkungan Anda dan klik OK.

    Associate Service panel

  6. Pilih nacos-service-consumer dari daftar drop-down Service Name, lalu klik Save and Advertise.

Entri rute kini aktif dan meneruskan semua permintaan masuk ke layanan Nacos yang ditentukan.

Langkah 2: Verifikasi entri rute

Sebelum menambahkan kebijakan perutean apa pun, pastikan gateway meneruskan traffic ke layanan backend dengan benar.

  1. Masuk ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.

  2. Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Klik nama gateway Anda.

  3. Di halaman Overview, klik tab Gateway Ingress. Catat alamat IP ingress.

    Gateway Ingress tab showing the ingress IP address

    Catatan

    Alamat IP ingress milik Instance Server Load Balancer (SLB) yang dikaitkan dengan gateway. Untuk menggunakan instance SLB yang dikelola sendiri, lihat Kelola instance SLB yang ditentukan sebagai Ingress.

  4. Kirim permintaan uji:

    curl -I http://<gateway-ingress-ip>/echo-rest/hello

    Ganti <gateway-ingress-ip> dengan alamat IP ingress dari langkah sebelumnya. Untuk menguji layanan backend Anda sendiri, ganti /echo-rest/hello dengan path-nya.

    Respons yang diharapkan:

    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

    Respons HTTP/1.1 200 OK mengonfirmasi bahwa entri rute berfungsi.

Langkah 3: Tambahkan kebijakan throttling

Dalam skenario konkurensi tinggi, traffic tanpa pembatasan kecepatan dapat membebani layanan backend, menyebabkan respons lambat atau gangguan. Kebijakan throttling memantau permintaan per detik (QPS) suatu entri rute dan memblokir traffic yang melebihi ambang batas.

Untuk daftar lengkap kebijakan perutean, lihat Kebijakan perutean.

Konfigurasikan aturan throttling

  1. Masuk ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.

  2. Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Klik nama gateway Anda.

  3. Klik Routes. Temukan entri rute yang telah Anda buat dan klik Policies di kolom Actions.

  4. Di bagian Policies, klik tab Throttling, lalu klik Flow control rules.

  5. Di tab Throttling Rules, konfigurasikan parameter berikut:

    ParameterDeskripsiContoh
    Overall QPS ThresholdJumlah maksimum permintaan per detik yang diizinkan untuk entri rute ini.1
    Web Fallback BehaviorTindakan saat ambang batas terlampaui. Opsi: Returns the specified content atau Jump to the specified page.Returns the specified content
    HTTP status codeKode status yang dikembalikan saat permintaan dibatasi. Default: 429.429
    Returned Content-TypeFormat badan respons. Opsi: Plain text atau JSON.Plain text
    HTTP TextPesan kustom yang dikembalikan kepada permintaan yang dibatasi.springcloud-demo flow limit
    Whether to openAlihkan untuk mengaktifkan atau menonaktifkan aturan.image

    Throttling rules configuration

  6. Klik New untuk membuat aturan, atau klik Save untuk memperbarui aturan yang sudah ada. Di dialog konfirmasi, klik OK.

Verifikasi kebijakan throttling

Kirim permintaan beruntun secara cepat untuk memicu ambang batas throttling. Gunakan skrip sesuai sistem operasi Anda:

Linux / macOS

#!/bin/bash

URL="http://<gateway-ingress-ip>/echo-rest/hello"

while true; do
    curl -i -s $URL
done

Windows

@echo off

set "localUrl=http://<gateway-ingress-ip>/echo-rest/hello"

:loop
curl -i -s %localUrl%

goto loop

Ganti <gateway-ingress-ip> dengan alamat IP ingress gateway Anda.

Saat QPS melebihi ambang batas, gateway mengembalikan 429 Too Many Requests:

HTTP/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

Permintaan yang berada di bawah ambang batas tetap mengembalikan 200 OK:

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

Output campuran ini mengonfirmasi bahwa throttling berfungsi. Permintaan yang melebihi ambang batas QPS mengembalikan 429, sedangkan yang berada di bawah ambang batas mengembalikan 200.

Langkah selanjutnya