Properti langganan

Halaman ini menjelaskan properti yang umum untuk semua jenis langganan Pub/Sub. Anda dapat menetapkan properti ini saat membuat atau memperbarui langganan.

Durasi retensi pesan

Opsi Durasi retensi pesan menentukan berapa lama Pub/Sub mempertahankan pesan setelah dipublikasikan. Setelah durasi retensi pesan berakhir, Pub/Sub dapat menghapus pesan terlepas dari status pengakuan pesan. Untuk mempertahankan pesan yang terkonfirmasi selama durasi retensi pesan, lihat Memutar ulang dan menghapus pesan.

Berikut adalah nilai untuk opsi Durasi penyimpanan pesan:

  • Nilai default = 7 hari
  • Nilai minimum = 10 menit
  • Nilai maksimum = 31 hari

Pesan yang belum dikonfirmasi dapat disebabkan oleh langganan yang tidak aktif, kebutuhan pencadangan, atau pemrosesan yang lambat. Jika Anda dapat memproses pesan dalam waktu 24 jam, Anda tidak akan dikenai biaya tambahan. Anda dapat menghindari tagihan baru dengan mengelola skenario ini sebagai berikut:

  • Langganan tidak aktif. Hapus langganan yang tidak aktif untuk menghindari biaya penyimpanan pesan langganan.

  • Penyimpanan cadangan. Jika Anda menggunakan retensi langganan sebagai penyimpanan cadangan, Anda dapat beralih ke opsi penyimpanan lain seperti retensi pesan topik atau mempertahankan pesan yang telah dikonfirmasi. Retensi pesan topik menyimpan pesan hanya sekali di tingkat topik dan pesan tersebut tetap tersedia untuk digunakan oleh semua langganan jika diperlukan.

  • Penundaan pemrosesan. Tambahkan lebih banyak pelanggan (jika memungkinkan) untuk memproses pesan dalam sehari.

Pertahankan pesan yang dikonfirmasi

Jika Anda menentukan Durasi retensi pesan, Anda juga dapat menentukan apakah Anda ingin mempertahankan pesan yang dikonfirmasi.

Opsi Pertahankan pesan yang dikonfirmasi memungkinkan Anda mempertahankan pesan yang dikonfirmasi selama durasi retensi pesan yang ditentukan. Opsi ini akan meningkatkan biaya penyimpanan pesan. Untuk mengetahui informasi selengkapnya, lihat biaya penyimpanan.

Periode kedaluwarsa

Opsi Periode habis masa berlaku memungkinkan Anda memperpanjang periode habis masa berlaku langganan.

Langganan tanpa aktivitas pelanggan atau perubahan yang dilakukan pada properti langganan akan berakhir. Jika Pub/Sub mendeteksi aktivitas pelanggan atau jika Anda memperbarui salah satu properti langganan, timer penghapusan langganan akan dimulai ulang. Contoh aktivitas pelanggan mencakup koneksi terbuka, pull yang aktif, atau push yang berhasil dilakukan.

Jika Anda menentukan periode habis masa berlaku, nilai harus setidaknya selama durasi retensi pesan yang ditentukan dalam opsi Durasi retensi pesan.

Berikut adalah nilai untuk opsi Periode habis masa berlaku:

  • Nilai default = 31 hari
  • Nilai minimum = 1 hari

Untuk mencegah langganan berakhir, tetapkan periode masa berlaku ke never expire.

Batas waktu konfirmasi

Opsi Batas waktu konfirmasi menentukan batas waktu awal setelah pesan yang tidak dikonfirmasi dikirim lagi. Anda dapat memperpanjang batas waktu konfirmasi per pesan dengan mengirim permintaan ModifyAckDeadline berikutnya.

Berikut adalah nilai untuk opsi Batas waktu konfirmasi:

  • Nilai default = 10 detik
  • Nilai minimum = 10 detik
  • Nilai maksimum = 600 detik

Dalam beberapa kasus, library klien Pub/Sub dapat mengontrol kecepatan pengiriman dan mengubah batas waktu konfirmasi secara dinamis. Dengan demikian, pesan mungkin dikirim ulang sebelum batas waktu pengakuan yang Anda tetapkan. Untuk mengganti perilaku ini, gunakan minDurationPerAckExtension dan maxDurationPerAckExtension. Untuk mengetahui informasi selengkapnya tentang penggunaan nilai ini, lihat Dukungan pengiriman tepat satu kali di library klien.

Transformasi Pesan Tunggal (SMT)

SMT memungkinkan modifikasi ringan pada atribut dan data pesan secara langsung dalam Pub/Sub. Fitur ini memungkinkan pembersihan, pemfilteran, atau konversi format data sebelum pesan dikirimkan ke klien subscriber.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan SMT dan Membuat langganan dengan SMT.

Filter langganan

Gunakan opsi Filter langganan untuk menentukan string dengan ekspresi pemfilteran. Jika langganan memiliki filter, langganan hanya akan mengirimkan pesan yang cocok dengan filter. Layanan Pub/Sub secara otomatis mengonfirmasi pesan yang tidak cocok dengan filter.

  • Anda dapat memfilter pesan menurut atributnya, tetapi tidak menurut data dalam pesan.

  • Jika tidak ditentukan, langganan tidak memfilter pesan dan pelanggan menerima semua pesan.

  • Filter tidak dapat diubah atau dihapus setelah Anda menerapkannya.

Saat menerima pesan dari langganan dengan filter, Anda tidak dikenai biaya keluar untuk pesan yang dikonfirmasi secara otomatis oleh Pub/Sub. Anda akan dikenai biaya pengiriman pesan dan biaya penyimpanan terkait pencarian untuk pesan ini.

Untuk mengetahui informasi selengkapnya, lihat Memfilter pesan dari langganan.

Pengurutan pesan

Secara default, Pub/Sub mungkin tidak mengirimkan pesan sesuai urutan pesan tersebut dipublikasikan. Jika Pengurutan pesan diaktifkan untuk langganan, semua pesan yang dikirim di region yang sama, dengan kunci pengurutan yang sama, akan diterima sesuai urutan saat pesan tersebut dipublikasikan.

Agar pesan diterima secara berurutan, penayang harus menetapkan kunci pengurutan. Pesan tanpa kunci pengurutan mungkin tidak diterima secara berurutan.

Saat menggunakan pengiriman berurutan, konfirmasi untuk pesan selanjutnya tidak akan diproses hingga konfirmasi untuk pesan sebelumnya diproses. Untuk mengetahui informasi selengkapnya, lihat Pesan pesanan.

Topik yang dihentikan pengirimannya

Jika pesan tidak dapat dikirim setelah sejumlah upaya pengiriman yang ditetapkan, atau pelanggan tidak dapat mengonfirmasi pesan, Pub/Sub dapat memublikasikan ulang pesan ke topik dead-letter yang dikonfigurasi.

Jika menetapkan topik pesan yang tidak terkirim, Anda juga dapat menentukan jumlah maksimum upaya pengiriman. Nilai defaultnya adalah 5 upaya pengiriman. Anda dapat menyetel jumlah maksimum upaya ke angka apa pun antara 5 dan 100, inklusif.

Jika topik pesan yang tidak terkirim berada di project yang berbeda dengan langganan, Anda juga harus menentukan project ID dengan topik pesan yang tidak terkirim.

Untuk mengetahui informasi selengkapnya, lihat Topik pesan yang tidak terkirim.

Kebijakan coba lagi

Jika batas waktu konfirmasi berakhir atau pelanggan merespons dengan konfirmasi negatif, Pub/Sub dapat mengirim pesan lagi. Upaya pengiriman ulang ini dikenal sebagai Kebijakan percobaan ulang langganan.

Secara default, kebijakan percobaan ulang untuk langganan ditetapkan untuk menggunakan Coba lagi segera. Dengan opsi ini, Pub/Sub mengirim ulang pesan saat batas waktu konfirmasi berakhir atau pelanggan merespons dengan konfirmasi negatif.

Anda juga dapat menyetel nilai ke Coba lagi setelah penundaan backoff eksponensial. Dalam hal ini, Anda harus menentukan nilai backoff maksimum dan minimum.

Berikut beberapa panduan untuk menetapkan nilai backoff maksimum dan minimum:

  • Jika Anda menetapkan nilai maksimum untuk durasi backoff, nilai default untuk durasi backoff minimum adalah 10 detik.

  • Jika Anda menetapkan nilai minimum untuk durasi backoff, nilai default untuk durasi backoff maksimum adalah 600 detik.

  • Durasi penundaan terlama yang dapat Anda tentukan adalah 600 detik.

Kebijakan percobaan ulang dan pesan batch

Jika pesan berada dalam batch, Pub/Sub memulai backoff eksponensial saat salah satu hal berikut terjadi:

  • Pelanggan mengirimkan konfirmasi negatif untuk setiap pesan dalam batch.

  • Batas waktu konfirmasi berakhir.

Kebijakan coba lagi dan langganan push

Jika Anda menerima pesan dari langganan push, Pub/Sub mungkin mengirim ulang pesan setelah penundaan push bukan durasi penundaan eksponensial. Jika backoff push lebih lama daripada durasi backoff eksponensial, Pub/Sub akan mengirim ulang pesan yang belum dikonfirmasi setelah backoff push.

Langkah berikutnya