Dokumen ini membantu Anda memilih jenis langganan Pub/Sub yang sesuai dengan persyaratan bisnis Anda.
Sebelum memulai
- Pelajari langganan.
Tabel perbandingan langganan Pub/Sub
Tabel berikut menawarkan beberapa panduan dalam memilih mekanisme pengiriman yang sesuai untuk aplikasi Anda:
Fitur yang didukung oleh langganan Pub/Sub | |
---|---|
Kasus penggunaan |
Langganan pull
|
Langganan push
|
|
Ekspor langganan
|
|
Endpoint |
Langganan pull
Setiap perangkat di internet yang memiliki kredensial yang diotorisasi dapat memanggil Pub/Sub API. |
Langganan push
|
|
Ekspor langganan
|
|
Load balancing |
Langganan pull
|
Langganan push
Endpoint push dapat berupa load balancer. |
|
Mengekspor langganan
Layanan Pub/Sub secara otomatis menyeimbangkan beban. |
|
Konfigurasi |
Langganan pull
Tidak diperlukan konfigurasi. |
Langganan push
|
|
Ekspor langganan
|
|
Kontrol alur |
Langganan pull
Klien pelanggan mengontrol kecepatan pengiriman. Pelanggan dapat mengubah batas waktu konfirmasi secara dinamis, sehingga pemrosesan pesan dapat berlangsung lama secara arbitrer. |
Langganan push
Server Pub/Sub otomatis menerapkan kontrol aliran. Anda tidak perlu menangani alur pesan di sisi klien. Namun, Anda dapat menunjukkan bahwa klien tidak dapat menangani beban pesan saat ini dengan meneruskan error HTTP. |
|
Mengekspor langganan
Server Pub/Sub secara otomatis menerapkan kontrol aliran untuk mengoptimalkan penulisan pesan ke resource Google Cloud. |
|
Efisiensi dan throughput |
Langganan pull
Mencapai throughput tinggi dengan CPU dan bandwidth rendah dengan mengizinkan pengiriman batch, konfirmasi, dan konsumsi paralel secara massal. 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 terkirim. |
|
Mengekspor langganan
Skalabilitas ditangani secara dinamis oleh server Pub/Sub. |
Kapan harus menggunakan langganan ekspor
Tanpa langganan ekspor, Anda memerlukan langganan pull atau push dan pelanggan (seperti Dataflow) untuk membaca pesan dan menulisnya ke resource Google Cloud. Overhead menjalankan tugas Dataflow tidak diperlukan jika pesan tidak memerlukan pemrosesan tambahan sebelum disimpan.
Langganan ekspor memiliki keuntungan berikut:
Deployment 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 dilampirkan, 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 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 memerlukan beberapa transformasi data 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 Streaming dari Pub/Sub ke BigQuery.
Untuk mempelajari cara melakukan streaming data dari Pub/Sub ke Cloud Storage dengan transformasi menggunakan Dataflow, lihat Melakukan streaming pesan dari Pub/Sub menggunakan Dataflow.
Langkah selanjutnya
Pahami alur kerja untuk setiap jenis langganan: