Cloud Tasks dan Pub/Sub dapat digunakan untuk menerapkan penerusan pesan dan integrasi asinkron. Meskipun secara konseptual serupa, setiap API 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 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 yang memungkinkan 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 remote procedure call tertentu. Pub/Sub optimal untuk pola penyerapan dan distribusi data peristiwa yang lebih umum, yang dalam beberapa tingkat pelaksanaannya dapat dikorbankan.
Perbandingan fitur mendetail
| Fitur | Cloud Tasks | Pub/Sub |
|---|---|---|
| Mendorong 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 |
| Pesan antar | Tidak, urutan tugas dalam antrean dipertahankan berdasarkan upaya terbaik | Ya, dengan kunci pengurutan |
| Kontrol tarif eksplisit | Ya | Klien pelanggan pull dapat menerapkan kontrol alur |
| Menarik 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 | 10 MB |
| Rasio penayangan maksimum | 500 QPS/antrean | Tidak ada batas atas, tunduk pada kuota throughput regional |
| 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 | 1.000 per project per region, lebih banyak tersedia melalui permintaan penambahan kuota | 10.000 per project |