Memecahkan masalah langganan push

Pelanggan push adalah jenis pelanggan Pub/Sub tempat pesan dikirim dari Pub/Sub ke endpoint HTTPS yang ditentukan pengguna. Pengguna mengakui pesan yang didorong dengan mengembalikan respons HTTP 200 ke permintaan server push. Dokumen ini memberikan beberapa tips pemecahan masalah umum untuk langganan push Pub/Sub. Baca selengkapnya tentang langganan push di Panduan subscriber push.

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

Endpoint push yang gagal atau lambat

Jika endpoint menampilkan kode respons error, pengiriman pesan akan 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 Metrik Cloud mengategorikan respons dari endpoint push menurut response_code dan response_class. Respons ini berguna untuk mengidentifikasi potensi malafungsi endpoint. Jika metrik ini memiliki data dengan response_class selain ack, hal ini menunjukkan bahwa endpoint push menampilkan error ke Pub/Sub. Beberapa kesalahan yang paling umum meliputi:

  • 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 mengirimkan 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 di langganan push.

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

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

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

Pembatasan langganan push di dalam perimeter VPC-SC

Jika perlindungan Kontrol Layanan VPC (VPC-SC) diaktifkan dalam sebuah project, ada batasan dalam pembuatan langganan push. Langganan push yang sudah ada akan terus berfungsi, tetapi saat 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 khusus, lihat dokumentasi Pub/Sub dan dokumentasi VPC-SC.