gRPC adalah framework remote procedure call (RPC) open-source berkinerja tinggi. Saat menggunakan gRPC untuk komunikasi layanan backend, Anda dapat memanfaatkan Application Load Balancer (ALB) untuk membuat ingress terpadu dan melakukan load balancing terhadap lalu lintas. gRPC berkomunikasi melalui protokol HTTP/2. Saat ini, ALB mendukung gRPC dengan menerima lalu lintas klien terenkripsi melalui listener HTTPS dan meneruskan permintaan dalam bentuk teks biasa ke kelompok server yang dikonfigurasi dengan protokol gRPC.
Informasi latar belakang
gRPC adalah framework remote procedure call (RPC) open-source berkinerja tinggi yang menggunakan Protocol Buffers sebagai Interface Definition Language (IDL) dan berkomunikasi melalui HTTP/2.
gRPC digunakan untuk komunikasi antar layanan dalam sistem terdistribusi. Framework ini mengatasi tantangan komunikasi lintas bahasa antar layanan yang berbeda serta menyediakan IDL dengan kode yang di-generate secara otomatis, sehingga mempermudah pengembang dalam mendefinisikan dan memanggil layanan jarak jauh. Dengan memanfaatkan pengkodean biner dan fitur multiplexing dari HTTP/2, gRPC menawarkan kinerja tinggi, latensi rendah, serta transfer data yang efisien untuk panggilan jarak jauh yang cepat dan andal.
gRPC cocok untuk skenario seperti arsitektur microservices, komunikasi lintas bahasa, dan sistem terdistribusi berskala besar—terutama dalam situasi yang memerlukan kinerja tinggi dan latensi rendah. Selain itu, gRPC mendukung berbagai jenis pemanggilan, termasuk unary calls, client-side streaming, server-side streaming, dan bidirectional streaming, sehingga memberikan fleksibilitas untuk memenuhi beragam kebutuhan bisnis.
Untuk informasi lebih lanjut tentang gRPC, lihat dokumentasi resmi gRPC.
Skenario contoh
Sebuah perusahaan menerapkan layanan gRPC di dalam Virtual Private Cloud (VPC) di wilayah Tiongkok (Hangzhou). Di VPC yang sama, perusahaan tersebut membuat instans ALB dan kelompok server backend yang mendukung protokol gRPC. Instans ALB dikonfigurasi dengan listener HTTPS yang telah mengaktifkan HTTP/2, dan kelompok server dikonfigurasi dengan pemeriksaan kesehatan gRPC.
Klien perlu mengakses layanan gRPC melalui instans ALB.
Prasyarat
-
Anda telah membuat instans ALB. Untuk informasi selengkapnya, lihat Buat dan kelola instans ALB.
-
Anda telah menyiapkan server backend dan menerapkan layanan gRPC di atasnya. Untuk panduan penerapan, lihat dokumentasi resmi gRPC.
-
Anda telah mendaftarkan nama domain dan menyelesaikan proses pendaftaran ICP. Untuk informasi selengkapnya, lihat Daftarkan nama domain Alibaba Cloud dan Proses pendaftaran ICP.
-
Anda telah membeli Sertifikat SSL atau mengunggah sertifikat pihak ketiga ke Certificate Management Service dan mengaitkannya dengan nama domain Anda. Untuk informasi selengkapnya tentang cara membuat sertifikat, lihat Aktifkan akses HTTPS untuk website menggunakan sertifikat komersial.
Langkah 1: Buat kelompok server dan tambahkan server
-
Masuk ke Konsol ALB.
-
Pada bilah navigasi atas, pilih wilayah tempat instans ALB diterapkan.
-
Pada panel navigasi kiri, pilih .
-
Pada halaman Server Groups, klik Create Server Group.
-
Pada kotak dialog Create Server Group, konfigurasikan parameter berikut dan klik Create.
Topik ini hanya menjelaskan parameter yang relevan dengan contoh ini. Untuk parameter lainnya, gunakan nilai default atau sesuaikan sesuai kebutuhan.
Parameter
Deskripsi
Server Group Type
Pilih tipe kelompok server. Pada contoh ini, dipilih Server.
VPC
Pilih VPC tempat instans ALB diterapkan. Hanya server dalam VPC ini yang dapat ditambahkan ke kelompok server.
Backend Server Protocol
Pilih gRPC.
Health Check
Pada contoh ini, aktifkan pemeriksaan kesehatan.
Health Check Settings
Klik Modify dan konfigurasikan pengaturan pemeriksaan kesehatan:
-
Health Check Protocol: Pilih gRPC.
-
Health Check Method: Pilih POST.
-
Health Check Status Codes: Pilih kode status yang menunjukkan kondisi sehat. Kode ini harus konsisten dengan konfigurasi layanan gRPC backend Anda. Pada contoh ini, kami menggunakan
12.
-
-
Pada halaman Server Groups, temukan kelompok server yang telah Anda buat dan klik ID-nya.
-
Klik tab Backend Servers, lalu klik Add Backend Server.
-
Pada panel Add Backend Server, pilih instans ECS yang telah Anda buat dan klik Next.
-
Pada langkah Ports/Weights, atur port dan bobot untuk setiap instans ECS, lalu klik OK.
CatatanPort yang Anda konfigurasikan untuk instans ECS harus sesuai dengan port yang digunakan oleh layanan gRPC Anda. Pastikan juga aturan security group mengizinkan lalu lintas pada port tersebut.
Langkah 2: Konfigurasikan listener HTTPS
-
Masuk ke Konsol ALB.
-
Pada bilah navigasi atas, pilih wilayah tempat instans ALB Anda diterapkan.
-
Pada panel navigasi kiri, klik Instances.
-
Pada halaman Instances, temukan instans target dan klik Create Listener pada kolom Actions.
-
Pada halaman Configure Listener, konfigurasikan parameter berikut. Gunakan nilai default untuk parameter lainnya atau sesuaikan sesuai kebutuhan, lalu klik Next.
Parameter
Deskripsi
Listener Protocol
Pilih HTTPS.
Listener Port
Pada contoh ini, digunakan port 443.
Catatan-
Jika Anda mengatur protokol kelompok server ke gRPC, listener harus menggunakan HTTPS.
-
gRPC berkomunikasi melalui HTTP/2. Jika protokol kelompok server diatur ke gRPC, Anda harus mengaktifkan HTTP/2 untuk listener HTTPS. ALB mengaktifkan fitur ini secara default. Biarkan Enable HTTP/2 tetap aktif.
-
-
Pada halaman Configure SSL Certificate, konfigurasikan parameter berikut. Untuk parameter lainnya, gunakan nilai default atau sesuaikan sesuai kebutuhan, lalu klik Next.
Parameter
Deskripsi
Server Certificate
Pilih Sertifikat SSL yang telah disiapkan.
-
Pada halaman Select Server Group, konfigurasikan parameter berikut. Untuk parameter lainnya, gunakan nilai default atau sesuaikan sesuai kebutuhan, lalu klik Next.
Parameter
Deskripsi
Server Group
Pilih kelompok server gRPC yang telah Anda buat.
-
Pada halaman Configuration Review, periksa parameter dan klik Submit.
Langkah 3: Konfigurasikan resolusi DNS
Pada panel navigasi kiri, pilih .
Pada halaman Instances, salin nama domain instans ALB.
Lakukan langkah-langkah berikut untuk membuat rekaman CNAME:
CatatanJika nama domain Anda tidak didaftarkan melalui Alibaba Cloud Domains, Anda harus menambahkan nama domain Anda ke DNS Alibaba Cloud sebelum dapat mengonfigurasi rekaman DNS. Untuk informasi selengkapnya, lihat Kelola nama domain.
Masuk ke Konsol DNS Alibaba Cloud.
Pada halaman Authoritative DNS Resolution, temukan nama domain Anda dan klik Settings pada kolom Operations.
Pada tab Settings pada halaman detail nama domain, klik Add Record.
Pada panel Add Record, konfigurasikan parameter dan klik OK. Tabel berikut menjelaskan parameter tersebut.
Parameter
Deskripsi
Record Type
Pilih CNAME dari daftar drop-down.
Hostname
Masukkan awalan nama domain. Pada contoh ini, dimasukkan @.
CatatanJika Anda menggunakan nama domain root, masukkan
@.Query Source
Pilih Default.
Record Value
Masukkan nilai CNAME, yaitu nama domain instans ALB.
TTL
Pilih nilai waktu hidup (TTL) untuk rekaman CNAME agar di-cache pada server DNS. Pada contoh ini, digunakan nilai default.
Langkah 4: Verifikasi konektivitas
Setelah menyelesaikan langkah-langkah sebelumnya, klien dapat mengakses layanan gRPC yang diterapkan pada server backend melalui ALB. Bagian ini menjelaskan cara menguji konektivitas klien ke layanan gRPC.
Anda tidak dapat langsung mengakses layanan gRPC dari browser. Gunakan alat pengujian seperti grpcurl untuk memverifikasi akses.
Pada klien, jalankan perintah berikut untuk mengakses layanan gRPC pada instans ECS: grpcurl -insecure -v <domain_name>:<listener_port> <gRPC_service_name>/<method>
Tanggapan yang mirip dengan gambar berikut menunjukkan bahwa klien dapat mengakses layanan gRPC pada instans ECS backend melalui ALB.

Referensi
-
Untuk informasi detail tentang parameter listener HTTPS dan pertimbangannya, lihat Tambahkan listener HTTPS.
-
Untuk informasi detail tentang parameter kelompok server dan pertimbangannya, lihat Buat dan kelola kelompok server.
-
Untuk informasi detail tentang parameter pemeriksaan kesehatan dan pertimbangannya, lihat Pemeriksaan kesehatan untuk ALB.