Dokumen ini membantu Anda memilih jenis langganan Pub/Sub yang sesuai dengan persyaratan bisnis Anda.
Pub/Sub menawarkan jenis langganan berikut:
Langganan pull menggunakan klien pelanggan untuk meminta pesan dari server Pub/Sub.
Langganan push menggunakan server Pub/Sub untuk menginisiasi permintaan ke aplikasi pelanggan Anda untuk mengirim pesan.
Ekspor langganan mengekspor pesan Anda langsung ke resource Google Cloud. Langganan ini mencakup:
Langganan BigQuery mengekspor data ke tabel BigQuery.
Langganan Cloud Storage mengekspor data ke bucket Cloud Storage.
Tabel perbandingan langganan Pub/Sub
Tabel berikut memberikan beberapa panduan dalam memilih mekanisme pengiriman yang sesuai untuk aplikasi Anda:
| Fitur yang didukung oleh langganan Pub/Sub | ||
|---|---|---|
| Kasus penggunaan | Langganan pull |
|
| Langganan push |
|
|
| Mengekspor langganan |
|
|
| Endpoint | Langganan pull | Perangkat apa pun di internet yang memiliki kredensial yang sah dapat memanggil Pub/Sub API. |
| Langganan push |
Server HTTPS dengan sertifikat non-tanda tangan sendiri yang dapat diakses di web publik. Endpoint penerima mungkin dipisahkan dari langganan Pub/Sub, sehingga pesan dari beberapa langganan dikirim ke satu endpoint. |
|
| Mengekspor langganan | Langganan menulis ke Google Cloud resource, seperti tabel BigQuery atau bucket Cloud Storage. | |
| Load balancing | Langganan pull | Beberapa pelanggan dapat melakukan panggilan pull ke langganan yang sama. Setiap pelanggan menerima sebagian pesan. |
| Langganan push |
Endpoint push dapat berupa load balancer. |
|
| Mengekspor langganan |
Layanan Pub/Sub secara otomatis menyeimbangkan beban. |
|
| Konfigurasi | Langganan pull |
Konfigurasi tidak diperlukan. |
| Langganan push |
|
|
| Mengekspor langganan | Resource Google Cloud yang diekspor oleh langganan harus ada dan dikonfigurasi dengan izin yang sesuai. | |
| Kontrol alur | Langganan pull | Klien pelanggan mengontrol kecepatan pengiriman. Pelanggan dapat mengubah batas waktu konfirmasi secara dinamis, sehingga pemrosesan pesan dapat memakan waktu yang sangat lama. |
| Langganan push | Server Pub/Sub otomatis menerapkan kontrol aliran. Klien tidak perlu menangani alur pesan. Namun, Anda dapat menunjukkan bahwa klien tidak dapat menangani pemuatan pesan saat ini dengan mengirimkan kembali error HTTP. | |
| Mengekspor langganan | Pub/Sub secara otomatis menerapkan kontrol alur untuk mengoptimalkan penulisan pesan ke resource tujuan Google Cloud. | |
| Efisiensi dan throughput | Langganan pull | Mencapai throughput tinggi pada CPU dan bandwidth rendah dengan mengizinkan pengiriman, konfirmasi, dan penggunaan paralel dalam jumlah besar yang dikelompokkan. Mungkin tidak efisien jika polling yang sering digunakan untuk meminimalkan waktu pengiriman pesan. |
| Langganan push | Mengirimkan satu pesan per permintaan dan membatasi jumlah maksimum pesan yang belum terkirim. | |
| Mengekspor langganan | Pub/Sub menangani skalabilitas secara dinamis. | |
Kapan harus menggunakan langganan ekspor
Tanpa langganan ekspor, Anda memerlukan langganan pull atau push dan pelanggan (seperti Dataflow) untuk membaca pesan dan menuliskannya 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 terlampir, yang tidak tersedia dengan template Dataflow dasar untuk menulis dari Pub/Sub ke BigQuery. Demikian pula, langganan Cloud Storage menawarkan opsi batching 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 tetap direkomendasikan untuk sistem Pub/Sub yang memerlukan transformasi data sebelum data disimpan dalam resource seperti tabel BigQuery atau bucket Cloud Storage.Google Cloud
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 berikutnya
Pahami alur kerja untuk setiap jenis langganan: