Topik ini menjelaskan cara Simple Message Queue (sebelumnya MNS) mencegah kehilangan pesan atau konsumsi berulang ketika beberapa klien mencoba mengambil pesan dari antrian secara bersamaan.
Parameter VisibilityTimeout dapat dikonfigurasi untuk setiap SMQ antrian. Parameter ini menentukan periode ketidakmunculan pesan setelah diambil oleh klien konsumen.
Setelah pesan diambil dari antrian, statusnya berubah dari Aktif (terlihat) menjadi Tidak Aktif (tidak terlihat). Selama periode ketidakmunculan, klien konsumen lain tidak dapat mengambil pesan tersebut.
Jika pesan dikonsumsi dalam periode ketidakmunculan, klien konsumen harus menghapus pesan tersebut menggunakan tanda terima (receipt handle).
Jika pesan tidak dikonsumsi dalam periode ketidakmunculan, konsumen harus mengirim permintaan ChangeVisibilityTimeout untuk memperpanjang periode ketidakmunculan. Jika tidak, setelah periode ketidakmunculan berakhir, status pesan akan berubah dari Tidak Aktif (tidak terlihat) menjadi Aktif (terlihat), dan klien konsumen lain dapat mengambil pesan tersebut.