All Products
Search
Document Center

Microservices Engine:Aktifkan HTTP/3 untuk gateway cloud-native

Last Updated:Jun 22, 2026

HTTP/3 memiliki tiga fitur utama: head-of-line blocking, connection migration, dan zero round-trip time (0-RTT). HTTP/3 sangat cocok untuk skenario dengan alih bencana jaringan di berbagai perangkat atau koneksi jaringan lemah. Topik ini menjelaskan cara mengaktifkan dan menggunakan HTTP/3 untuk gateway cloud-native.

Prasyarat

Gateway cloud-native Microservices Engine (MSE) versi V1.2.15 atau yang lebih baru telah dibuat. Untuk informasi selengkapnya, lihat Buat gateway cloud-native MSE.

Informasi latar belakang

Jika ingin menggunakan HTTP/3, pastikan layanan Anda mendukung HTTP/3 dan lalu lintas yang diminta merupakan lalu lintas HTTP/3. Layanan perlu direkonstruksi agar mendukung HTTP/3. Namun, sebagian besar pelanggan cenderung mempertahankan layanan mereka tanpa perubahan. Untuk tujuan ini, pelanggan dapat mengonversi protokol yang digunakan menjadi HTTP/3 melalui access gateway. Dibandingkan dengan penggunaan HTTP/3 secara langsung sepanjang proses, metode ini tidak memberikan peningkatan performa signifikan dalam pemrosesan permintaan, tetapi menyediakan beberapa keunggulan jaringan HTTP/3 bagi pelanggan. Topik ini menjelaskan cara mengaktifkan HTTP/3 dengan menggunakan metode tersebut.

HTTP/1.1

Dalam HTTP/1.1, bidang teks yang dipisahkan spasi digunakan untuk mentransfer paket HTTP. Paket yang ditransfer dapat dibaca. Namun, format pesan berbasis spasi menghasilkan penguraian yang kompleks dan toleransi berlebihan terhadap perilaku variasi. HTTP/1.1 tidak memiliki lapisan multiplexing. Dalam kebanyakan kasus, beberapa koneksi TCP digunakan untuk memproses permintaan secara paralel. Namun, implementasi ini berdampak negatif pada pengendalian kemacetan dan efisiensi jaringan. Untuk informasi selengkapnya, lihat HTTP/1.1.

HTTP/2

HTTP/2 memperkenalkan lapisan binary framing dan multiplexing untuk mengurangi latensi tanpa mengharuskan Anda memodifikasi lapisan transport. Namun, fitur konkurensi multiplexing HTTP/2 tidak berlaku dalam skenario di mana paket TCP yang hilang perlu dipulihkan. Jika paket hilang atau urutannya berubah, semua permintaan aktif akan ditangguhkan selama periode tertentu, terlepas dari apakah permintaan tersebut terpengaruh oleh kehilangan paket. Untuk informasi selengkapnya, lihat HTTP/2.

HTTP/3

Pada 6 Juni 2022, Robin Marx, anggota IETF QUIC Working Group dan HTTP Working Group, mengumumkan bahwa HTTP/3 telah diterbitkan sebagai standar usulan dalam RFC 9114 setelah lima tahun upaya. Untuk informasi selengkapnya, lihat HTTP/3 From A To Z: Core Concepts dan RFC 9114.

HTTP/3, sebelumnya disebut HTTP-over-QUIC, adalah protokol QUIC berbasis UDP yang dikembangkan oleh Google berdasarkan pengalaman bertahun-tahun. IETF mengganti nama HTTP-over-QUIC menjadi HTTP/3 pada tahun 2018. Cloudflare, Google Chrome, dan Firefox Nightly mendukung HTTP/3.

Untuk mengatasi masalah head-of-line blocking yang ada di HTTP/2, HTTP/3 tidak lagi diimplementasikan berbasis TCP, melainkan dibangun di atas UDP. Dalam HTTP/3, stream digunakan untuk memperluas lebih lanjut kemampuan multiplexing yang disediakan oleh HTTP/2, serta meningkatkan performa dalam hal pengendalian kemacetan dan kompresi header. Untuk informasi selengkapnya tentang head-of-line blocking, lihat Head-of-line blocking.

Diagram Alur

Prosedur

Aktifkan HTTP/3 di Konsol MSE

  1. Aktifkan HTTP/3 untuk gateway cloud-native.

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

    2. Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Di halaman Gateways, klik ID gateway tersebut.

    3. Di panel navigasi kiri, klik Parameter Settings.

    4. Di bagian Gateway Engine Parameters, temukan parameter EnableHttp3 dan klik Edit di kolom Actions.

    5. Di kotak dialog Modify Parameters, aktifkan sakelar Value, lalu klik OK.

  2. Periksa apakah HTTPS telah dikonfigurasi sebagai protokol untuk Nama domain gateway.

    HTTP/3 memerlukan HTTPS demi keamanan. Anda harus mengaktifkan HTTPS untuk domain pengujian pada gateway. Untuk informasi selengkapnya, lihat Buat Nama domain. Di panel navigasi kiri, klik Domain Name Management. Di daftar domain, verifikasi bahwa kolom Protocol untuk domain target Anda menampilkan HTTPS dan memiliki Sertifikat terkait, misalnya, 8880972-cn-hangzhou.

    Catatan

    Jika Nama domain HTTPS telah dikonfigurasi untuk gateway, Anda dapat mengklik nama instans Classic Load Balancer (CLB) yang terkait dengan gateway di halaman Overview. Buka Konsol CLB dan periksa apakah health check status pada port listener 443 dari instans CLB tersebut dalam kondisi sehat.

  3. Tambahkan layanan HTTP ke gateway dan tambahkan aturan routing.

    1. Tambahkan layanan backend pengujian yang mendukung HTTP/1.1. Untuk informasi selengkapnya, lihat Tambahkan layanan dan Tambahkan sumber layanan.

    2. Tambahkan aturan routing untuk layanan pengujian. Untuk informasi selengkapnya, lihat Buat aturan routing.

      Sebagai contoh, Anda menambahkan aturan routing bernama quic.

      Aturan tersebut telah dipublikasikan, menggunakan pencocokan path eksak untuk /quic, dikaitkan dengan domain api.alibaba-inc.com, dan menargetkan single service.

    3. Jalankan perintah cURL berikut untuk melakukan pengujian permintaan HTTP/3:

      curl --http3 https://api.alibaba-inc.com/quic --resolve api.alibaba-inc.com:443:<IP address of the CLB instance> -k
      Catatan

      Untuk melakukan pengujian HTTP/3, Anda perlu mengompilasi kode sumber. Jika Anda menggunakan image cURL HTTP/3 yang sudah tersedia untuk pengujian, Anda tidak perlu mengompilasi kode sumber. Anda dapat memilih metode pengujian sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat curl-http3.

Aktifkan HTTP/3 menggunakan Ingress

  1. Aktifkan HTTP/3 untuk gateway cloud-native.

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

    2. Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Di halaman Gateways, klik ID gateway tersebut.

    3. Di panel navigasi kiri, klik Parameter Settings.

    4. Di bagian Gateway Engine Parameters, temukan parameter EnableHttp3 dan klik Edit di kolom Actions.

    5. Di kotak dialog Modify Parameters, aktifkan sakelar Value, lalu klik OK.

  2. Instal MSE Ingress Controller di kluster Container Service for Kubernetes (ACK) Anda, dan kaitkan gateway dengan MSE Ingress Controller.

  3. Konfigurasikan Ingress di kluster ACK.

    Buat rahasia HTTPS dan aturan routing untuk Nama domain HTTPS di kluster ACK. Contoh kode:

    apiVersion: v1
    kind: Secret
    metadata:
      name: testsecret-tls
      namespace: default
    data:
      tls.crt: base64 # Sertifikat dalam format Base64. 
      tls.key: base64 # Kunci privat dalam format Base64. 
    type: kubernetes.io/tls
    ---
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: tls-example-ingress
      annotations:
        nginx.ingress.kubernetes.io/backend-protocol: HTTP # Jika layanan backend Anda menggunakan HTTP/2, atur parameter ini ke HTTP2. 
    spec:
      tls:
      - hosts:
          - https-example.foo.com
        secretName: testsecret-tls
      rules:
      - host: https-example.foo.com
        http:
          paths:
          - path: /quic
            pathType: Prefix
            backend:
              service:
                name: service1  # Layanan backend.
                port:
                  number: 80
  4. Jalankan perintah cURL berikut untuk melakukan pengujian permintaan HTTP/3:

    curl --http3 https://https-example.foo.com/quic --resolve https-example.foo.com:443:<IP address of the CLB instance> -k