Halaman ini menjelaskan cara memigrasikan kode pull queue dari Task Queue ke Pub/Sub. Pub/Sub kini merupakan cara yang lebih disukai untuk melakukan tugas pull queue di App Engine.
Jika aplikasi Anda menggunakan pull queue dan push queue, gunakan panduan ini untuk memigrasikan
pull queue Anda ke Pub/Sub sebelum memigrasikan push queue ke
Cloud Tasks layanan push queue baru. Sebaiknya jangan memigrasikan pull queue Anda
setelah memigrasikan push queue ke Cloud Tasks karena penggunaan
file queue.yaml
yang diperlukan cenderung menyebabkan
perilaku yang tidak terduga dengan Cloud Tasks.
Fitur yang saat ini tidak tersedia di Pub/Sub
Fitur Task Queue berikut saat ini tidak tersedia di Pub/Sub:
- Pengelompokan berdasarkan tag
- Penghapusan duplikat otomatis
Harga dan kuota
Memigrasikan pull queue ke Pub/Sub dapat memengaruhi harga dan kuota untuk aplikasi Anda.
Harga
Pub/Sub memiliki harga sendiri. Seperti halnya Task Queue, mengirim permintaan ke aplikasi App Engine dengan Pub/Sub dapat menyebabkan aplikasi Anda dikenakan biaya.
Kuota
Kuota Pub/Sub berbeda dari kuota untuk Task Queue. Seperti halnya Task Queue, mengirim permintaan ke aplikasi App Engine dari Pub/Sub dapat memengaruhi kuota permintaan App Engine Anda.
Sebelum bermigrasi
Bagian berikut membahas langkah-langkah penyiapan sebelum memigrasikan pull queue Anda ke Pub/Sub.
Mengaktifkan Pub/Sub API
Untuk mengaktifkan Pub/Sub API, klik Aktifkan di Pub/Sub API di Library API. Jika melihat tombol Kelola dan bukan tombol Aktifkan, berarti sebelumnya Anda telah mengaktifkan Pub/Sub API untuk project tersebut dan tidak perlu melakukan tindakan ini lagi.
Mengautentikasi aplikasi ke Pub/Sub API
Anda harus mengautentikasi aplikasi ke Pub/Sub API. Bagian ini membahas autentikasi untuk dua kasus penggunaan yang berbeda.
Untuk mengembangkan atau menguji aplikasi secara lokal, sebaiknya gunakan akun layanan. Untuk petunjuk tentang cara menyiapkan akun layanan dan menghubungkannya ke aplikasi Anda, baca Mendapatkan dan memberikan kredensial akun layanan secara manual.
Untuk men-deploy aplikasi di App Engine, Anda tidak perlu memberikan autentikasi baru. Kredensial Default Aplikasi (ADC) menyimpulkan detail autentikasi untuk aplikasi App Engine.
Mendownload Google Cloud CLI
Download dan instal Google Cloud CLI untuk menggunakan gcloud CLI dengan Pub/Sub API jika sebelumnya Anda belum menginstalnya. Jalankan perintah berikut dari terminal Anda jika Anda sudah menginstal Google Cloud CLI.
gcloud components update
Mengimpor Library Klien Cloud
Ikuti petunjuk Pub/Sub terkait cara menginstal library klien untuk menggunakan library klien dengan aplikasi Anda.Pub/Sub dan pull queue
Perbandingan fitur
Pub/Sub mengirimkan tugas ke worker melalui hubungan penayang/pelanggan. Langganan pull di Pub/Sub menyerupai pull queue di Task Queue karena pelanggan mengambil pesan dari topik. Tabel di bawah ini mencantumkan fitur inti untuk pull queue di Task Queue dan fitur terkait untuk langganan pull di Pub/Sub.
Fitur Task Queue | Fitur Pub/Sub |
---|---|
Antrean | Topik |
Tugas | Pesan |
Pekerja | Pelanggan |
Untuk mempelajari arsitektur Pub/Sub lebih lanjut, baca Cloud Pub/Sub: Layanan Pesan Berskala Google.
Perbandingan alur kerja
Di bawah ini adalah perbandingan alur kerja standar untuk pull queue di Task Queue dan langganan pull di Pub/Sub.
Alur kerja Task Queue | Alur kerja Pub/Sub |
---|---|
Anda membuat pull queue | Anda membuat topik dan membuat pelanggan Anda (yaitu worker) berlangganan ke topik tersebut |
Anda membuat dan menambahkan tugas ke dalam antrean | Anda membuat pesan dan memublikasikannya ke topik |
Worker menyewakan tugas | Pelanggan mengambil pesan dari topik |
Worker memproses tugas | Pelanggan memproses pesan |
Worker menghapus tugas dari antrean | Pelanggan mengonfirmasi pesan |
Masa sewa berakhir | Topik akan menghapus pesan saat semua pelanggannya telah mengonfirmasi pesan |
Membuat langganan pull di Pub/Sub
Anda dapat menggunakan langganan pull Pub/Sub seperti pull queue Task Queue. Langganan suatu topik tidak akan habis masa berlakunya dan bisa ada secara bersamaan untuk beberapa worker. Artinya, pesan dapat diproses oleh lebih dari satu worker yang merupakan salah satu kasus penggunaan utama untuk Pub/Sub. Untuk membuat ulang pull queue Task Queue sebagai langganan pull Pub/Sub, buat topik untuk setiap worker dan pastikan hanya worker terkait saja yang berlangganan ke topik tersebut. Hal ini memastikan bahwa setiap pesan diproses oleh tepat satu worker seperti dalam Task Queue. Untuk mempelajari cara membuat dan mengelola langganan pull, baca mengelola topik dan langganan.
Menghapus pull queue
Setelah memigrasikan pull queue Task Queue ke
langganan pull Pub/Sub, hapus pull queue dari
Task Queue menggunakan file queue.yaml
Anda. Sebaiknya hapus setiap pull queue
sebelum memigrasikan yang berikutnya. Hal ini akan mencegah aplikasi
menduplikasi tugas yang diterimanya dari langganan pull
Pub/Sub baru saat Anda memigrasikan pull queue lainnya. Perlu diperhatikan bahwa dampak terhadap kuota deployment App Engine Anda bisa lebih signifikan apabila menghapus pull queue Task Queue satu per satu, dibandingkan dengan menghapus satu deployment.
Setelah menghapus semua pull queue dari Task Queue, Anda dapat
menghapus file queue.yaml
dari deployment aplikasi Anda di masa mendatang.
Jika aplikasi Anda hanya menggunakan pull queue, hapus semua referensi ke Task Queue API dalam kode Anda. Jika aplikasi menggunakan pull queue dan push queue, Anda dapat menghapus referensi ke Task Queue API yang ada di dalam file yang hanya menggunakan pull queue, atau menunggu hingga Anda memigrasikan push queue, lalu menghapus referensi ke Task Queue API dari semua file.