Memilih jenis langganan

Dokumen ini membantu Anda memilih jenis langganan Pub/Sub yang tepat dan sesuai dengan kebutuhan bisnis Anda.

Sebelum memulai

Tabel perbandingan langganan Pub/Sub

Tabel berikut menawarkan beberapa panduan dalam memilih mekanisme pengiriman yang tepat untuk aplikasi Anda:

Fitur yang didukung oleh langganan Pub/Sub
Kasus penggunaan Langganan pull
  • Pesan dalam jumlah besar (GB per detik).
  • Efisiensi dan throughput pemrosesan pesan sangatlah penting.
  • Lingkungan tempat endpoint HTTPS publik dengan sertifikat SSL yang tidak ditandatangani sendiri tidak dapat disiapkan.
Langganan push
  • Beberapa topik yang harus diproses oleh webhook yang sama.
  • Pelanggan App Engine Standar dan Cloud Functions.
  • Lingkungan tempat dependensi Google Cloud (seperti kredensial dan library klien) tidak dapat disiapkan.
Ekspor langganan
  • Pesan bervolume besar yang dapat meningkatkan skala hingga beberapa juta pesan per detik.
  • Pesan langsung dikirim ke resource Google Cloud tanpa pemrosesan tambahan.
Endpoints Langganan pull

Setiap perangkat di internet yang memiliki kredensial resmi dapat memanggil Pub/Sub API.

Langganan push
  • Server HTTPS dengan sertifikat yang tidak ditandatangani sendiri dan dapat diakses di web publik.
  • Endpoint penerima mungkin dipisahkan dari langganan Pub/Sub, sehingga pesan dari beberapa langganan dikirim ke satu endpoint.
Ekspor langganan
  • Set data dan tabel BigQuery untuk langganan BigQuery.
  • Bucket Cloud Storage untuk langganan Cloud Storage.
Load balancing Langganan pull
  • Beberapa pelanggan dapat melakukan panggilan pull ke langganan "bersama" yang sama.
  • Setiap pelanggan menerima sebagian pesan.
Langganan push

Endpoint push dapat berupa load balancer.

Ekspor langganan

Layanan Pub/Sub secara otomatis menyeimbangkan beban.

Konfigurasi Langganan pull

Konfigurasi tidak diperlukan.

Langganan push
  • Tidak ada konfigurasi yang diperlukan untuk aplikasi App Engine dalam project yang sama dengan pelanggan.
  • Verifikasi endpoint push tidak diperlukan di Konsol Google Cloud.
  • Endpoint harus dapat dijangkau menggunakan nama DNS dan sudah menginstal sertifikat SSL.
Ekspor langganan
  • Set data dan tabel BigQuery harus ada untuk langganan BigQuery, yang dikonfigurasi dengan izin yang sesuai.
  • Bucket Cloud Storage harus ada untuk langganan Cloud Storage, yang dikonfigurasi dengan izin yang sesuai.
Kontrol alur Langganan pull

Klien pelanggan mengontrol tingkat penayangan. Pelanggan dapat mengubah batas waktu konfirmasi secara dinamis, sehingga pemrosesan pesan dapat berjalan lama.

Langganan push

Server Pub/Sub mengimplementasikan kontrol alur secara otomatis. Tidak perlu menangani alur pesan di sisi klien. Namun, bisa saja menunjukkan bahwa klien tidak dapat menangani pemuatan pesan saat ini dengan mengembalikan error HTTP.

Ekspor langganan

Server Pub/Sub secara otomatis mengimplementasikan kontrol alur untuk mengoptimalkan penulisan pesan ke resource Google Cloud.

Efisiensi dan throughput Langganan pull

Mencapai throughput yang tinggi pada CPU dan bandwidth yang rendah dengan memungkinkan pengiriman batch, konfirmasi, dan penggunaan paralel secara masif. Mungkin tidak efisien jika polling agresif digunakan untuk meminimalkan waktu pengiriman pesan.

Langganan push

Mengirim satu pesan per permintaan dan membatasi jumlah maksimum pesan yang belum diproses.

Ekspor langganan

Skalabilitas ditangani secara dinamis oleh server Pub/Sub.

Kapan langganan ekspor digunakan

Tanpa langganan ekspor, Anda memerlukan langganan pull atau push dan pelanggan (seperti Dataflow) untuk membaca pesan dan menulisnya ke resource Google Cloud. Overhead dalam menjalankan tugas Dataflow tidak diperlukan jika pesan tidak memerlukan pemrosesan tambahan sebelum disimpan.

Ekspor langganan memiliki keuntungan berikut:

  • Deployment yang sederhana. Anda dapat menyiapkan langganan ekspor melalui satu alur kerja di konsol, Google Cloud CLI, library klien, atau Pub/Sub API.

  • Biaya rendah. Mengurangi biaya dan latensi tambahan dari pipeline Pub/Sub serupa yang menyertakan tugas Dataflow. Pengoptimalan biaya ini berguna untuk sistem pesan yang tidak memerlukan pemrosesan tambahan sebelum penyimpanan.

  • Pemantauan minimal. Langganan ekspor adalah bagian dari layanan Pub/Sub multi-tenant dan tidak mengharuskan Anda menjalankan tugas pemantauan terpisah.

  • Fleksibilitas. Langganan BigQuery dapat menggunakan skema topik yang terkait, yang tidak tersedia dengan template Dataflow dasar untuk menulis dari Pub/Sub ke BigQuery. Demikian pula, langganan Cloud Storage menawarkan opsi pengelompokan file yang dapat dikonfigurasi berdasarkan ukuran file dan waktu yang telah berlalu, yang tidak dapat dikonfigurasi dalam template Dataflow dasar untuk menulis dari Pub/Sub ke Cloud Storage.

Namun, pipeline Dataflow masih direkomendasikan untuk sistem Pub/Sub yang mengharuskan transformasi data tertentu sebelum data disimpan di resource Google Cloud seperti tabel BigQuery atau bucket Cloud Storage.

Untuk mempelajari cara melakukan streaming data dari Pub/Sub ke BigQuery dengan transformasi menggunakan Dataflow, lihat Melakukan streaming dari Pub/Sub ke BigQuery.

Untuk mempelajari cara melakukan streaming data dari Pub/Sub ke Cloud Storage dengan transformasi menggunakan Dataflow, baca artikel Menstreaming pesan dari Pub/Sub menggunakan Dataflow.

Langkah selanjutnya

Pahami alur kerja untuk setiap jenis langganan: