Menggunakan ID grup pesan Amazon SQS - Amazon Simple Queue Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan ID grup pesan Amazon SQS

MessageGroupIdadalah tag yang menentukan bahwa pesan milik grup pesan tertentu. Pesan yang termasuk dalam grup pesan yang sama selalu diproses satu per satu, dalam urutan yang ketat relatif terhadap grup pesan (namun, pesan yang termasuk dalam grup pesan yang berbeda mungkin diproses secara tidak berurutan).

Menginterleaving beberapa grup pesan yang dipesan

Untuk menginterleave beberapa grup pesan yang diurutkan dalam satu antrian FIFO, gunakan nilai ID grup pesan (misalnya, data sesi untuk beberapa pengguna). Dalam skenario ini, beberapa konsumen dapat memproses antrian, tetapi data sesi setiap pengguna diproses dengan cara FIFO.

catatan

Jika pesan yang termasuk dalam ID grup pesan tertentu tidak terlihat, tidak ada konsumen lain yang dapat memproses pesan dengan ID grup pesan yang sama.

Menghindari pemrosesan duplikat dalam sistem multi-produsen/konsumen

Untuk menghindari pemrosesan pesan duplikat dalam sistem dengan beberapa produsen dan konsumen di mana throughput dan latensi lebih penting daripada pemesanan, produsen harus menghasilkan ID grup pesan unik untuk setiap pesan.

catatan

Dalam skenario ini, duplikat dihilangkan. Namun, pemesanan pesan tidak dapat dijamin.

Skenario apa pun dengan beberapa produsen dan konsumen meningkatkan risiko mengirimkan pesan duplikat secara tidak sengaja jika pekerja tidak memproses pesan dalam batas waktu visibilitas dan pesan menjadi tersedia untuk pekerja lain.

Hindari memiliki backlog besar pesan dengan ID grup pesan yang sama

Untuk antrian FIFO, bisa ada maksimum 20.000 dalam pesan penerbangan (diterima dari antrian oleh konsumen, tetapi belum dihapus dari antrian). Jika Anda mencapai kuota ini, Amazon SQS tidak mengembalikan pesan kesalahan. Antrean FIFO memeriksa 20k pesan pertama untuk menentukan grup pesan yang tersedia. Ini berarti bahwa jika Anda memiliki backlog pesan dalam satu grup pesan, Anda tidak dapat menggunakan pesan dari grup pesan lain yang dikirim ke antrian di lain waktu hingga Anda berhasil menggunakan pesan dari backlog.

catatan

Backlog pesan yang memiliki ID grup pesan yang sama mungkin terbentuk karena konsumen yang tidak berhasil memproses pesan. Masalah pemrosesan pesan dapat terjadi karena masalah dengan konten pesan atau karena masalah teknis dengan konsumen.

Untuk memindahkan pesan yang tidak dapat diproses berulang kali, dan untuk membuka blokir pemrosesan pesan lain yang memiliki ID grup pesan yang sama, pertimbangkan untuk menyiapkan kebijakan antrian huruf mati.

Hindari menggunakan kembali ID grup pesan yang sama dengan antrian virtual

Untuk mencegah pesan dengan ID grup pesan yang sama dikirim ke antrian virtual yang berbeda dengan antrian host yang sama saling memblokir, hindari menggunakan kembali ID grup pesan yang sama dengan antrian virtual.