Jika menggunakan Pub/Sub untuk memublikasikan pesan yang berisi banyak data, Anda dapat menggunakan gRPC untuk mengompresi data agar menghemat biaya jaringan sebelum klien penayang mengirimkan permintaan publikasi. Kompresi Pub/Sub untuk gRPC menggunakan algoritma Gzip.
Dokumen ini memberikan informasi tentang cara mengompresi pesan yang dipublikasikan ke suatu topik.
Tentang mengompresi pesan
Rasio kompresi untuk menggunakan fitur kompresi sisi klien gRPC berbeda untuk klien penayang yang berbeda dan bergantung pada faktor berikut:
Jumlah data. Rasio kompresi akan meningkat saat ukuran payload meningkat dari beberapa ratus byte menjadi banyak kilobyte data. Setelan batch permintaan publikasi menentukan jumlah data yang disertakan dalam setiap permintaan publikasi. Sebaiknya aktifkan setelan batch bersama dengan kompresi gRPC untuk mendapatkan hasil terbaik.
Jenis data. Data berbasis teks seperti JSON atau XML lebih mudah dikompresi dibandingkan dengan data biner seperti gambar.
Jika klien penayang Anda berada di Google Cloud, Anda dapat menggunakan metrik Byte yang dikirim (instance/network/sent_bytes_count
) untuk mengukur throughput publikasi dalam byte. Jika klien penayang Anda berada di aplikasi lain, Anda harus menggunakan alat khusus klien untuk melakukan pengukuran.
Contoh kode di bagian ini menunjukkan contoh cuplikan kode library klien Java yang juga menyertakan kompresi gRPC.
Sebelum memulai
Sebelum mengonfigurasi alur kerja publikasi, pastikan Anda telah menyelesaikan tugas-tugas berikut:
- Pelajari topik dan alur kerja publikasi.
- Buat topik.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengompresi pesan,
minta administrator untuk memberi Anda
peran IAM Pub/Sub Publisher (roles/pubsub.publisher
) di topik Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Anda memerlukan izin tambahan untuk membuat atau memperbarui topik dan langganan.
Mengompresi pesan
C++
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C++ API.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java API Pub/Sub.
Langkah selanjutnya
Untuk mempelajari cara mengonfigurasi opsi publikasi lanjutan, lihat hal berikut: