Memilih Pub/Sub atau Cloud Tasks

Cloud Tasks dan Pub/Sub dapat digunakan untuk menerapkan integrasi asinkron dan penerusan pesan. 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 utama antara Pub/Sub dan Cloud Tasks adalah dalam konsep pemanggilan implisit vs. eksplisit.

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

Sebaliknya, Cloud Tasks ditujukan untuk pemanggilan eksplisit di mana penayang mempertahankan kontrol penuh atas eksekusi. Secara khusus, penerbit 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 panggilan prosedur jarak jauh tertentu. Pub/Sub sangat optimal untuk pola penyerapan dan distribusi data peristiwa yang lebih umum, yang dalam beberapa tingkat kontrol atas eksekusinya dapat dikorbankan.

Perbandingan fitur mendetail

Fitur Cloud Tasks Cloud Pub/Sub
Mengirim melalui webhook Ya Ya
Jaminan pengiriman minimal satu kali Ya Ya
Percobaan ulang yang dapat dikonfigurasi Ya Ya
Penghapusan duplikat pembuatan tugas Ya Tidak
Pengiriman terjadwal Ya Tidak
Memesan pengiriman Tidak. Urutan tugas dalam antrean dipertahankan berdasarkan upaya terbaik. Ya, dengan kunci pengurutan
Kontrol kecepatan eksplisit Ya Klien pelanggan pull dapat menerapkan kontrol alur
Menarik melalui API Tidak Ya
Penyisipan batch Tidak Ya
Beberapa pengendali/pelanggan per pesan Tidak Ya
Retensi tugas/pesan 30 hari Hingga 31 hari
Ukuran maksimum tugas/pesan 1MB 10 MB
Rasio penayangan maksimum 500 qps/antrean Tidak ada batas atas
Ketersediaan geografis Regional Global
Durasi pemrosesan handler/pelanggan push maksimum 30 menit (HTTP)
10 menit (penskalaan otomatis App Engine Standard)
24 jam (penskalaan manual atau dasar App Engine Standard)
60 menit (App Engine Flexible)
10 menit untuk operasi push
Jumlah antrean/langganan per project 1.000/project, lebih banyak tersedia melalui permintaan penambahan kuota 10.000/project