Dokumen ini memberikan informasi tentang penggunaan kontrol alur dengan pesan yang dipublikasikan ke suatu topik.
Tentang kontrol alur
Klien penayang dapat mencoba memublikasikan pesan lebih cepat daripada klien tersebut yang dapat mengirim data ke layanan Pub/Sub. Klien dibatasi oleh banyak faktor, termasuk:
- CPU, RAM, dan kapasitas jaringan mesin
- Setelan jaringan, seperti jumlah permintaan yang belum terselesaikan dan bandwidth yang tersedia
- Latensi setiap permintaan publikasi, sebagian besar ditentukan oleh koneksi jaringan antara layanan Pub/Sub, klien, dan Google Cloud
Jika kecepatan permintaan publikasi melebihi batas ini, permintaan akan terakumulasi dalam memori sampai gagal dengan error DEADLINE_EXCEEDED
. Hal ini sangat mungkin terjadi ketika puluhan ribu pesan dipublikasikan dalam satu loop, sehingga menghasilkan ribuan permintaan dalam milidetik.
Anda dapat mendiagnosis masalah ini dengan memeriksa metrik sisi server di Monitoring. Anda tidak akan dapat melihat permintaan yang gagal dengan DEADLINE_EXCEEDED
, hanya permintaan yang berhasil. Tingkat permintaan yang berhasil menunjukkan
kapasitas throughput mesin klien Anda, yang menyediakan dasar untuk mengonfigurasi kontrol
alur.
Untuk mengurangi masalah kecepatan alur, konfigurasikan klien penayang Anda dengan kontrol alur untuk membatasi tingkat permintaan publikasi. Anda dapat mengonfigurasi jumlah maksimal byte yang dialokasikan untuk permintaan yang belum diproses, dan jumlah maksimum pesan tertunda yang diizinkan. Tetapkan batas ini sesuai dengan kapasitas throughput mesin klien Anda.
Sebelum memulai
Sebelum mengonfigurasi alur kerja publikasi, pastikan Anda telah menyelesaikan tugas berikut:
- Pelajari topik dan alur kerja publikasi.
- Buat topik.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menggunakan kontrol alur,
minta administrator untuk memberi Anda peran IAM
Pub/Sub Publisher (roles/pubsub.publisher
) sesuai topik.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Anda memerlukan izin tambahan untuk membuat atau memperbarui topik dan langganan.
Menggunakan kontrol alur dengan pesan
Kontrol alur penayang tersedia menggunakan library klien Pub/Sub dalam bahasa berikut:
C++
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di Panduan Memulai: Menggunakan Library Klien. Untuk informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C++ API.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Go API.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan Memulai: Menggunakan Library Klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Pub/Sub Java.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan Memulai: Menggunakan Library Klien. Untuk informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Node.js API.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan Memulai: Menggunakan Library Klien. Untuk informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Node.js API.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Python API.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Ruby API.