Memecahkan masalah langganan push

Pelanggan push adalah jenis pelanggan Pub/Sub yang menerima pesan dari Pub/Sub ke endpoint HTTPS yang ditentukan pengguna. Pengguna mengonfirmasi pesan yang di-push dengan menampilkan respons HTTP 200 ke permintaan server push. Dokumen ini memberikan beberapa tips umum untuk memecahkan masalah langganan push Pub/Sub. Baca selengkapnya tentang langganan push di Panduan pelanggan push.

Untuk memantau langganan Pub/Sub secara efektif, sebaiknya lihat terlebih dahulu skor kondisi latensi pengiriman (subscription/delivery_latency_health_score) untuk memeriksa faktor mana yang dapat menyebabkan latensi yang tidak terduga.

Endpoint push yang gagal atau lambat

Jika endpoint menampilkan kode respons error, pengiriman pesan dianggap gagal dan akan dicoba lagi nanti. Hal ini berpotensi menyebabkan endpoint menerima pesan duplikat.

Ada beberapa metrik yang dapat Anda gunakan untuk memantau langganan push. Metrik subscription/push_request_count di Cloud Metrics mengategorikan respons dari endpoint push berdasarkan response_code dan response_class. Respons ini berguna untuk mengidentifikasi potensi malfungsi endpoint. Jika metrik ini memiliki data dengan response_class selain ack, hal ini menunjukkan bahwa endpoint push menampilkan error ke Pub/Sub. Beberapa error yang paling umum mencakup:

  • Class respons deadline_exceeded menunjukkan bahwa endpoint push tidak merespons dalam batas waktu konfirmasi (ack) yang diperlukan. Metrik subscription/push_request_latencies membantu melacak latensi ack push.

  • Class respons invalid menunjukkan bahwa endpoint mengirim kembali respons yang tidak dapat dipahami atau diproses dengan benar oleh Pub/Sub.

  • Class respons remote_server_4xx biasanya menunjukkan masalah autentikasi atau izin. Ini adalah kode respons HTTP yang ditampilkan oleh endpoint, jadi lihat skenario saat kode respons ini ditampilkan. Jika autentikasi diaktifkan, pastikan akun Anda memiliki izin yang tepat di endpoint. Pelajari lebih lanjut cara kerja autentikasi dalam langganan push.

  • Class respons remote_server_5xx menunjukkan masalah sisi server di sisi endpoint. Endpoint tidak dapat memproses permintaan. Hal ini mungkin disebabkan oleh pemeliharaan atau pemadaman yang sedang berlangsung. Tinjau status server yang menghosting endpoint.

  • Class respons unreachable menunjukkan bahwa server endpoint tidak dapat dijangkau sama sekali. Verifikasi URL endpoint untuk kesalahan ketik.

Pelajari lebih lanjut kode error Pub/Sub API yang paling umum.

Batasan pada langganan push di dalam perimeter VPC-SC

Jika perlindungan Kontrol Layanan VPC (VPC-SC) diaktifkan dalam project, ada batasan dalam membuat langganan push. Langganan push yang ada akan terus berfungsi, tetapi saat Anda membuat langganan push baru, Anda akan melihat error: Request is prohibited by organization's policy. Secara khusus, langganan push baru hanya dapat dibuat jika endpoint push adalah layanan Cloud Run yang menggunakan URL run.app default. Untuk mengetahui detail selengkapnya dan batasan tertentu, lihat dokumentasi Pub/Sub dan dokumentasi VPC-SC.