Memecahkan masalah langganan push

Pelanggan push adalah jenis pelanggan Pub/Sub tempat pesan dikirim dari Pub/Sub ke endpoint HTTPS yang ditentukan pengguna. Pengguna mengonfirmasi pesan yang dikirim dengan menampilkan 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 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 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 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 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, konfirmasi bahwa 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 disebabkan oleh pemeliharaan atau pemadaman layanan 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 menemukan kesalahan ketik.

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

Batasan pada langganan push di dalam perimeter VPC-SC

Jika perlindungan Kontrol Layanan VPC (VPC-SC) diaktifkan di project, ada batasan untuk membuat langganan push. Langganan push yang 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 detail selengkapnya dan batasan tertentu, lihat dokumentasi Pub/Sub dan dokumentasi VPC-SC.