Cloud Tasks dan Pub/Sub dapat digunakan untuk mengimplementasikan penerusan pesan dan integrasi asinkron. Meskipun mirip secara konseptual, masing-masing didesain 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 terletak pada konsep pemanggilan implisit vs. eksplisit.
Pub/Sub bertujuan untuk memisahkan penerbit peristiwa dan pelanggan peristiwa tersebut. Penerbit tidak perlu mengetahui apa pun tentang pelanggan mereka. Oleh karena itu, Pub/Sub tidak memberi penayang kontrol atas pengiriman pesan yang disimpan untuk menjamin pengiriman. Dengan cara ini, Pub/Sub mendukung pemanggilan implisit: penerbit secara implisit membuat pelanggan mengeksekusi dengan memublikasikan peristiwa.
Sebaliknya, Cloud Tasks ditujukan untuk pemanggilan eksplisit dan penayang mempertahankan kontrol penuh atas eksekusi. Secara khusus, penayang menentukan endpoint tempat setiap pesan akan dikirimkan.
Secara keseluruhan, Cloud Tasks sesuai untuk kasus penggunaan ketika pembuat tugas perlu menunda atau mengontrol waktu eksekusi webhook atau panggilan prosedur jarak jauh tertentu. Pub/Sub optimal untuk penyerapan dan pola distribusi data peristiwa yang lebih umum dengan beberapa tingkat kontrol atas eksekusi dapat dikorbankan.
Perbandingan fitur mendetail
Fitur | Cloud Tasks | Cloud Pub/Sub |
---|---|---|
Mengirim 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 | Tidak. Urutan tugas yang diantrekan dipertahankan sesuai dengan upaya terbaik. | Ya dengan kunci pemesanan |
Kontrol tarif eksplisit | Ya | Klien pull subscriber dapat menerapkan 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 Standard) 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 yang tersedia melalui permintaan penambahan kuota | 10.000/project |