全部产品
Search
文档中心

Microservices Engine:Migrasi layanan dari gateway Zuul ke gateway cloud-native

更新时间:Jul 06, 2025

Pemilihan kerangka mikro-layanan terus berkembang seiring dengan kemajuan teknologi cloud-native. Di era cloud, Kubernetes telah membentuk ulang sistem operasi dan pemeliharaan (O&M). Gateway Zuul tidak mendukung penemuan layanan kontainer dan memiliki performa lebih rendah dibandingkan gateway NGINX Ingress. Dalam hal observabilitas dan keamanan, gateway Zuul memerlukan pengembangan kustom dan integrasi. Kekurangan ini membatasi perkembangannya. Gateway cloud-native mengintegrasikan gateway lalu lintas tradisional dengan gateway mikro-layanan, menawarkan biaya layanan yang lebih rendah serta keunggulan dalam performa tinggi, integrasi tinggi, dan siap pakai. Topik ini menjelaskan cara bermigrasi layanan dari gateway Zuul ke gateway cloud-native.

Prasyarat

Langkah 1: Konfirmasi sumber layanan

Jika salah satu kondisi berikut terpenuhi, langsung menuju ke Langkah 2: Migrasikan Konfigurasi Gateway Zuul.

  • Container Service for Kubernetes (ACK) digunakan, dan penemuan layanan Kubernetes didukung.

  • Instance MSE Nacos telah dibeli dan digunakan sebagai registri. Instance MSE Nacos ditingkatkan ke versi yang mendukung Mesh Configuration Protocol (MCP).

  • Tidak ada mekanisme penemuan layanan yang digunakan, dan nama domain serta alamat IP tetap digunakan untuk menemukan layanan.

Anda dapat melakukan migrasi berdasarkan jenis sumber layanan.

  • Gunakan Instance MSE Nacos

    1. Beli instance MSE Nacos. Untuk informasi lebih lanjut, lihat Buat Mesin Nacos.

    2. Ubah konfigurasi atau kode dan daftarkan layanan Anda dengan instance MSE Nacos. Untuk informasi lebih lanjut, lihat Java SDK.

    3. Opsional. Jika aplikasi Anda adalah aplikasi Java, lakukan migrasi menggunakan Agen Tata Kelola Mikro-layanan MSE. Untuk informasi lebih lanjut, lihat Solusi Migrasi Berbasis MSE Sync.

  • Gunakan Registri Bersama Enterprise Distributed Application Service (EDAS)

    Gateway cloud-native mendukung registri EDAS. Anda dapat langsung menambahkan registri EDAS sebagai sumber layanan. Untuk informasi lebih lanjut, lihat Tambahkan Sumber Layanan.

  • Gunakan Registri Bersama Serverless App Engine (SAE)

    Gateway cloud-native mendukung registri SAE. Anda dapat langsung menambahkan registri SAE sebagai sumber layanan. Untuk informasi lebih lanjut, lihat Tambahkan Sumber Layanan.

Langkah 2: Migrasikan konfigurasi gateway Zuul

Contoh konfigurasi gateway Zuul:

  • Konfigurasi untuk registri terkait

    spring:
      application:
        name: zuul-demo
      cloud:
        nacos:
          discovery:
            server-addr: nacos-server:8848
          config:
            enabled: false
  • Konfigurasi untuk routing layanan

    zuul:
      routes:
        demo:
          path: /test/a
          serviceId: service-a
        pre:
          path: /auth/validation/**
          serviceId: service-a
        header:
          path: /auth/test
          requestHeadersToAdd:
          - key: debug_tag
            value: true
        retry:
          path: /app/try/**
          stripPrefix: false
          retryable: true
          serviceId: service-a
      retryable: true
      ignoredPatterns:
      - /login/api/a/v3/a
      - /auth/api/b
    service-a:
      ribbon:
        NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule
        ConnectTimeout: 1000
        ReadTimeout: 8000
        MaxAutoRetries: 3
        MaxAutoRetriesNextServer: 2
        MaxTotalConnections: 20000
        MaxConnectionsPerHost: 5000
    hystrix:
      command:
        service-a:
          execution:
            isolation:
              thread:
                timeoutInMilliseconds: 60000
              strategy: SEMAPHORE
              semaphore:
                maxConcurrentRequests: 60000

Untuk migrasi konfigurasi gateway Zuul di Konsol MSE, lakukan langkah-langkah berikut:

  • Operasi Terkait Registri

    Gateway cloud-native menggunakan sumber layanan untuk menghubungkan registri. Anda dapat menggunakan Konsol MSE untuk menambahkan sumber layanan dan menghubungkannya dengan layanan. Konfigurasi berlaku secara real-time. Untuk informasi lebih lanjut tentang cara menambahkan sumber layanan, lihat Tambahkan Sumber Layanan.

  • Operasi Asosiasi Layanan

    1. Tambahkan layanan yang ingin dilanggan dengan mengimpor layanan. Untuk informasi lebih lanjut tentang cara menambahkan layanan, lihat Tambahkan Layanan.

    2. Untuk informasi lebih lanjut tentang cara mengonfigurasi versi rute yang sesuai untuk layanan yang ditambahkan, lihat Kelola Versi Layanan.

    service-a:
      ribbon:
        NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule
        ConnectTimeout: 1000
        ReadTimeout: 8000
        MaxAutoRetries: 3
        MaxAutoRetriesNextServer: 2
        MaxTotalConnections: 20000
        MaxConnectionsPerHost: 5000
  • Operasi Konfigurasi Routing

    Konfigurasikan kebijakan routing untuk gateway. Untuk informasi lebih lanjut, lihat Buat Aturan Routing.

    spring:
      cloud:
        gateway:
          routes:
            - id: websocket_test
              uri: ws://localhost:9000
              order: 9000
              predicates:
                - Path=/echo
            - id: default_path_to_service-a
              uri: lb://service-a
              order: 10000
              predicates:
                - Path=/sleep

    Gateway cloud-native mendukung beberapa kebijakan routing. Untuk informasi lebih lanjut, lihat topik berikut:

Langkah 3: Konfigurasikan metode autentikasi untuk gateway cloud-native

Gateway cloud-native mendukung beberapa metode autentikasi. Untuk informasi lebih lanjut, lihat topik berikut:

Langkah 4: Lihat dasbor data global gateway cloud-native

Anda dapat melihat dasbor data global setiap gateway cloud-native. Untuk informasi lebih lanjut, lihat topik berikut:

Langkah 5: Migrasikan trafik

Prosedur untuk migrasi trafik di sisi pemanggil:

  • Migrasi Iteratif di Sisi Pemanggil atau Klien: Anda dapat mengubah URL akses beberapa layanan untuk memeriksa hasil migrasi.

  • Migrasi Bertahap di Sisi Proxy: Anda dapat membuat langkah-langkah migrasi di sisi proxy asli berdasarkan jenis layanan. Misalnya, Anda dapat membuat langkah-langkah migrasi secara terpisah untuk layanan inti dan non-inti. Kemudian, Anda dapat bermigrasi layanan berdasarkan URL akses dalam beberapa tahap.

  • Migrasi Penuh Berbasis DNS: Setelah Anda menyelesaikan migrasi bertahap, Anda dapat mengaitkan nama domain asli dengan URL akses gateway cloud-native Anda.

  • (Recommended) Migrasi Prosedural:

    1. Migrasikan beberapa layanan sebagai uji coba dan periksa hasil migrasi.

    2. Migrasikan layanan inti secara berurutan.

    3. Lakukan migrasi penuh berbasis DNS setelah Anda menyelesaikan uji stres.

Solusi migrasi

Biaya

Risiko

Migrasi iteratif

Tinggi

Rendah

Migrasi bertahap di sisi proxy

Sedang

Sedang

Migrasi penuh berbasis DNS

Rendah

Tinggi

Migrasi prosedural

Relatif rendah

Relatif rendah

Referensi

Untuk informasi lebih lanjut tentang gateway cloud-native, lihat Ikhtisar Gateway Cloud-Native.