Cloud Tasks dan Pub/Sub dapat digunakan untuk mengimplementasikan penerusan pesan dan integrasi asinkron. Namun, meskipun berfungsi dengan cara yang sama, keduanya tidak sama. Halaman ini membantu memilih produk yang tepat untuk kasus penggunaan Anda.
Perbedaan Utama
Perbedaan inti antara Pub/Sub dan Cloud Tasks adalah gagasan pemanggilan implisit vs eksplisit.
Pub/Sub bertujuan untuk memisahkan penerbit peristiwa dan pelanggan peristiwa tersebut. Penerbit tidak perlu mengetahui apa pun tentang pelanggan mereka. Akibatnya, Pub/Sub tidak memberi penayang kontrol atas pengiriman pesan yang disimpan untuk menjamin pengiriman. Dengan cara ini, Pub/Sub mendukung pemanggilan implisit: penayang secara implisit membuat pelanggan mengeksekusi dengan memublikasikan peristiwa.
Sebaliknya, Cloud Tasks ditujukan untuk pemanggilan eksplisit sehingga penayang mempertahankan kontrol penuh atas eksekusi. Secara khusus, penayang menentukan endpoint tempat setiap pesan akan dikirimkan.
Selain itu, Cloud Tasks menyediakan alat untuk antrean dan pengelolaan tugas yang tidak tersedia bagi penayang Pub/Sub, termasuk:
- Menjadwalkan waktu pengiriman tertentu
- Kontrol tarif penayangan
- Percobaan ulang yang dapat dikonfigurasi
- Akses dan pengelolaan tugas individual dalam antrean
- Penghapusan duplikat pembuatan tugas/pesan
Perbandingan fitur mendetail
Fitur | Cloud Tasks | Cloud Pub/Sub |
---|---|---|
Mendorong melalui webhook | Ya | Ya |
Minimal sekali jaminan pengiriman | Ya | Ya |
Percobaan ulang yang dapat dikonfigurasi | Ya | Ya |
Penghapusan duplikat pembuatan tugas | Ya | Tidak |
Pengiriman terjadwal | Ya | Tidak |
Pesan antar yang dipesan | Tidak. Susunan tugas yang diantrekan dipertahankan berdasarkan upaya terbaik. | Ya dengan kunci pemesanan |
Kontrol tarif eksplisit | Ya | Klien pull subscriber dapat mengimplementasikan kontrol alur |
Tarik 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 pengiriman maks | 500 qps/antrean | Tidak ada batas atas |
Ketersediaan geografis | Regional | Global |
Pengendali push maksimum/durasi pemrosesan pelanggan | 30 menit (HTTP) 10 menit (penskalaan otomatis App Engine Standar) 24 jam (penskalaan manual atau dasar App Engine Standard) 60 menit (App Engine Fleksibel) |
10 menit untuk operasi push |
Jumlah antrean/langganan per project | 1.000/project, lebih banyak tersedia melalui permintaan penambahan kuota | 10.000/project |