Memilih Pub/Sub atau Cloud Tasks

Cloud Tasks dan Pub/Sub dapat digunakan untuk menerapkan penerusan pesan dan integrasi asinkron. Meskipun secara konseptual serupa, masing-masing dirancang untuk serangkaian kasus penggunaan yang berbeda. Halaman ini membantu Anda memilih produk yang tepat untuk kasus penggunaan Anda.

Perbedaan Utama

Perbedaan inti antara Pub/Sub dan Cloud Tasks terletak pada konsep pemanggilan implisit vs. eksplisit.

Pub/Sub bertujuan untuk memisahkan penayang peristiwa dan pelanggan peristiwa tersebut. Penayang tidak perlu mengetahui apa pun tentang pelanggan mereka. Oleh karena itu, Pub/Sub tidak memberikan kontrol kepada penayang atas pengiriman pesan, kecuali jaminan pengiriman. Dengan cara ini, Pub/Sub mendukung pemanggilan implisit: penayang secara implisit menyebabkan pelanggan menjalankan dengan memublikasikan peristiwa.

Sebaliknya, Cloud Tasks ditujukan untuk pemanggilan eksplisit tempat penayang mempertahankan kontrol penuh atas eksekusi. Secara khusus, penayang menentukan endpoint tempat setiap pesan akan dikirim.

Secara keseluruhan, Cloud Tasks cocok untuk kasus penggunaan saat produsen tugas perlu menunda atau mengontrol waktu eksekusi webhook atau remote procedure call tertentu. Pub/Sub optimal untuk pola penyerapan dan distribusi data peristiwa yang lebih umum, yang dapat mengorbankan tingkat kontrol tertentu atas eksekusi.

Perbandingan fitur mendetail

Fitur Cloud Tasks Pub/Sub
Push menggunakan webhook Ya Ya
Jaminan pengiriman minimal satu kali Ya Ya
Percobaan ulang yang dapat dikonfigurasi Ya Ya
Penghapusan duplikat pembuatan tugas/pesan Ya Tidak
Pengiriman terjadwal Ya Tidak
Pengiriman berurutan Tidak, urutan tugas yang diantrekan dipertahankan berdasarkan upaya terbaik Ya, dengan kunci pengurutan
Kontrol tarif eksplisit Ya Klien pelanggan pull dapat menerapkan kontrol aliran
Pull menggunakan API Tidak Ya
Penyisipan batch Ya Ya
Beberapa pengendali/pelanggan per pesan Tidak Ya
Retensi tugas/pesan 31 hari Hingga 31 hari
Ukuran maksimum tugas/pesan 1MB 10MB
Kecepatan pengiriman maksimum 500 QPS/antrean Tidak ada batas atas, tunduk pada kuota throughput regional
Ketersediaan geografis Regional Global
Durasi pemrosesan pengendali/pelanggan push maksimum 30 menit (HTTP)
10 menit (penskalaan otomatis Standar App Engine)
24 jam (penskalaan manual atau dasar Standar App Engine)
60 menit (Fleksibel App Engine)
10 menit untuk operasi push
Jumlah antrean/langganan 1.000 per project per region, lebih banyak tersedia melalui permintaan penambahan kuota 10.000 per project