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 menyimpan pesan setelah publikasi. Setelah durasi retensi pesan berlalu, Pub/Sub dapat menghapus pesan terlepas dari status konfirmasi pesan. Untuk mempertahankan pesan yang dikonfirmasi selama durasi retensi pesan, lihat Memutar ulang dan menghapus pesan.
Berikut adalah nilai untuk opsi Durasi retensi pesan:
- Nilai default = 7 hari
- Nilai minimum = 10 menit
- Nilai maksimum = 31 hari
Pesan yang tidak dikonfirmasi dapat berasal dari langganan yang tidak aktif, kebutuhan pencadangan, atau pemrosesan yang lambat. Jika Anda dapat memproses pesan dalam waktu 24 jam, biaya tambahan tidak akan dikenakan. Anda dapat menghindari biaya baru dengan mengelola skenario ini sebagai berikut:
Langganan yang tidak aktif. Hapus langganan yang tidak aktif untuk menghindari biaya retensi pesan langganan.
Penyimpanan cadangan. Jika menggunakan retensi langganan sebagai penyimpanan cadangan, Anda dapat beralih ke opsi penyimpanan lain seperti retensi pesan topik atau mempertahankan pesan yang dikonfirmasi. Retensi pesan topik menyimpan pesan hanya sekali di tingkat topik dan pesan tersebut tetap tersedia untuk semua langganan yang akan digunakan jika diperlukan.
Penundaan pemrosesan. Tambahkan lebih banyak pelanggan (jika memungkinkan) untuk memproses pesan dalam sehari.
Pertahankan pesan yang dikonfirmasi
Jika menentukan Durasi retensi pesan, Anda juga dapat menentukan apakah 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 kedaluwarsa memungkinkan Anda memperpanjang periode kedaluwarsa langganan.
Langganan tanpa aktivitas pelanggan atau perubahan yang dilakukan pada properti langganan akan berakhir masa berlakunya. Jika Pub/Sub mendeteksi aktivitas pelanggan atau jika Anda memperbarui salah satu properti langganan, jam penghapusan langganan akan dimulai ulang. Contoh aktivitas pelanggan mencakup koneksi terbuka, pull aktif, atau push yang berhasil dilakukan.
Jika Anda menentukan periode kedaluwarsa, nilainya harus setidaknya selama durasi retensi pesan yang ditentukan dalam opsi Durasi retensi pesan.
Berikut adalah nilai untuk opsi Periode kedaluwarsa:
- Nilai default = 31 hari
- Nilai minimum = 1 hari
Untuk mencegah langganan berakhir masa berlakunya, tetapkan periode kedaluwarsa 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 mengirimkan permintaan berikutnya ModifyAckDeadline.
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 akan dikirim ulang sebelum batas waktu konfirmasi 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 Satu Pesan (SMT)
SMT memungkinkan modifikasi ringan pada atribut dan data pesan secara langsung dalam Pub/Sub. Fitur ini memungkinkan pembersihan data, pemfilteran, atau konversi format sebelum pesan dikirim ke klien pelanggan.
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 berdasarkan atributnya, tetapi tidak berdasarkan data dalam pesan.
Jika tidak ditentukan, langganan tidak akan memfilter pesan dan pelanggan akan menerima semua pesan.
Filter tidak dapat diubah atau dihapus setelah Anda menerapkannya.
Saat menerima pesan dari langganan dengan filter, Anda tidak akan dikenai biaya keluar untuk pesan yang dikonfirmasi secara otomatis oleh Pub/Sub. Anda akan dikenai biaya pengiriman pesan dan biaya penyimpanan terkait penelusuran untuk pesan ini.
Untuk mengetahui informasi selengkapnya, lihat Memfilter pesan dari langganan.
Pengurutan pesan
Secara default, Pub/Sub mungkin tidak mengirimkan pesan sesuai urutan publikasinya. Jika Pengurutan pesan diaktifkan untuk langganan, semua pesan yang dikirim di region yang sama, dengan kunci pengurutan yang sama, akan diterima sesuai urutan publikasinya.
Agar pesan diterima sesuai urutan, penayang harus menetapkan kunci pengurutan. Pesan tanpa kunci pengurutan mungkin tidak diterima sesuai urutan.
Saat menggunakan pengiriman yang diurutkan, konfirmasi untuk pesan yang lebih baru tidak akan diproses hingga konfirmasi untuk pesan sebelumnya diproses. Untuk mengetahui informasi selengkapnya, lihat Mengurutkan pesan.
Topik yang dihentikan pengirimannya
Jika pesan tidak dapat dikirim setelah menetapkan jumlah upaya pengiriman, atau pelanggan tidak dapat mengonfirmasi pesan, Pub/Sub dapat memublikasikan ulang pesan ke topik yang dihentikan pengirimannya yang dikonfigurasi.
Jika menetapkan topik yang dihentikan pengirimannya, Anda juga dapat menentukan jumlah maksimum upaya pengiriman. Nilai default-nya adalah 5 upaya pengiriman. Anda dapat menetapkan jumlah maksimum upaya ke angka berapa pun antara 5 dan 100, inklusif.
Jika topik yang dihentikan pengirimannya berada di project yang berbeda dengan langganan, Anda juga harus menentukan project ID dengan topik yang dihentikan pengirimannya.
Untuk mengetahui informasi selengkapnya, lihat Topik yang dihentikan pengirimannya.
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 coba lagi langganan.
Secara default, kebijakan coba lagi untuk langganan ditetapkan untuk menggunakan Coba lagi segera. Dengan opsi ini, Pub/Sub akan mengirim ulang pesan saat batas waktu konfirmasi berakhir atau pelanggan merespons dengan konfirmasi negatif.
Anda juga dapat menetapkan 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 backoff terlama yang dapat Anda tentukan adalah 600 detik.
Kebijakan coba lagi dan pesan batch
Jika pesan berada dalam batch, Pub/Sub akan 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 menerima pesan dari langganan push, Pub/Sub mungkin akan mengirim ulang pesan setelah backoff push bukan durasi backoff eksponensial. Jika backoff push lebih lama dari durasi backoff eksponensial, Pub/Sub akan mengirim ulang pesan yang tidak dikonfirmasi setelah backoff push.