Cloud Tasks dan Pub/Sub dapat digunakan untuk menerapkan penerusan pesan dan integrasi asinkron, tetapi meskipun keduanya berfungsi dengan cara yang serupa, keduanya tidak identik. Halaman ini membantu Anda memilih produk yang tepat untuk kasus penggunaan Anda.
Perbedaan Utama
Perbedaan inti antara Pub/Sub dan Cloud Tasks adalah konsep pemanggilan implisit vs eksplisit.
Pub/Sub bertujuan untuk memisahkan penayang peristiwa dan pelanggan ke peristiwa tersebut. Penayang tidak perlu mengetahui apa pun tentang subscriber mereka. Akibatnya, Pub/Sub tidak memberi penayang kontrol atas pengiriman pesan, kecuali untuk 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 tempat penayang memiliki kontrol penuh atas eksekusi. Secara khusus, penayang menentukan endpoint tempat setiap pesan akan dikirim.
Selain itu, Cloud Tasks menyediakan alat untuk pengelolaan tugas dan antrean yang tidak tersedia bagi penayang Pub/Sub, termasuk:
- Menjadwalkan waktu pengiriman tertentu
- Kontrol rasio penayangan
- Percobaan ulang yang dapat dikonfigurasi
- Akses dan pengelolaan setiap tugas dalam antrean
- Penghapusan duplikat pembuatan tugas/pesan
Perbandingan fitur mendetail
Fitur | Cloud Tasks | Cloud Pub/Sub |
---|---|---|
Push 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 |
Pesan antar | Tidak. Urutan tugas yang diantrekan akan dipertahankan berdasarkan upaya terbaik. | Ya, dengan kunci pengurutan |
Kontrol tarif 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 pengendali/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 |