Simple Message Queue (formerly MNS) menggunakan istilah-istilah berikut dalam messaging berbasis antrian. Pahami istilah-istilah ini sebelum mengonfigurasi antrian, mengirim dan menerima pesan, atau mengelola siklus hidup pesan melalui API.
Akun
ID akun Alibaba Cloud. Akun yang membuat antrian menjadi pemiliknya.
Antrian
Tempat penyimpanan pesan hingga konsumen mengambilnya. Producer mengirim pesan ke antrian, dan konsumen menerima pesan darinya. Setiap pesan dalam antrian diidentifikasi secara unik melalui kombinasi ID pesan dan receipt handle (ReceiptHandle).
Jenis Antrian
| Property | Standard queue | Delayed queue |
|---|---|---|
| Behavior | Pesan tersedia untuk dikonsumsi segera | Pesan tetap tersembunyi selama periode penundaan yang dapat dikonfigurasi sebelum tersedia |
| Delay configuration | DelaySeconds tidak diatur atau diatur ke 0 | DelaySeconds diatur melalui CreateQueue atau SetQueueAttributes |
| When to use | Pemrosesan Real-time di mana pesan harus segera dikonsumsi | Pemrosesan tertunda di mana diperlukan periode cooldown sebelum konsumsi |
Pemilik Antrian
Akun Alibaba Cloud yang membuat antrian adalah pemiliknya. Pemilik antrian berwenang melakukan semua operasi pada antrian tersebut. Setelah mengaktifkan Simple Message Queue (formerly MNS), panggil operasi API CreateQueue untuk membuat antrian. Temukan ID akun pemilik antrian di situs web Alibaba Cloud.
Producer dan konsumen
Producer: klien yang mengirim pesan ke antrian.
Konsumen: klien yang menerima pesan dari antrian.
Endpoint
URL akses untuk panggilan API Simple Message Queue (formerly MNS). Formatnya adalah:
http://<AccountId>.mns.<Region>.aliyuncs.com| Placeholder | Description |
|---|---|
<AccountId> | ID akun Alibaba Cloud Anda. Ganti dengan ID akun aktual Anda saat memanggil operasi API. |
<Region> | Wilayah tempat Simple Message Queue (formerly MNS) dideploy, seperti cn-hangzhou atau cn-shanghai. |
Jenis Pesan
| Property | Standard message | Delayed message |
|---|---|---|
| Behavior | Tersedia untuk dikonsumsi segera setelah dikirimkan | Tersembunyi selama periode penundaan tertentu sebelum tersedia |
| Configuration | Perilaku default ketika DelaySeconds per pesan tidak diatur | Atur DelaySeconds dalam permintaan SendMessage |
Pesan delayed menggunakan penundaan per pesan yang ditetapkan saat pengiriman. Antrian delayed menerapkan penundaan tingkat antrian ke semua pesan masuk. Keduanya menggunakan DelaySeconds, tetapi pada cakupan yang berbeda.
ID Pesan vs. receipt handle
| Property | Message ID | Receipt handle |
|---|---|---|
| Generated when | Pesan dikirim ke antrian | Pesan dikonsumsi dari antrian |
| Uniqueness | Unik dalam satu antrian, tidak lintas antrian | Unik per operasi konsumsi |
| Lifetime | Permanen dan tidak dapat diubah | Sementara; kedaluwarsa saat status pesan berubah |
| Primary use | Melacak dan memverifikasi data | Menghapus pesan yang telah dikonsumsi atau mengubah VisibilityTimeout-nya |
| Reusability | Berlaku sepanjang masa hidup pesan | Sekali pakai; konsumsi ulang pesan untuk mendapatkan handle baru |
Untuk menghapus pesan, gunakan receipt handle-nya, bukan ID pesannya.
Status Pesan
Setiap pesan mengalami transisi melalui status-status berikut:
| Status | Description |
|---|---|
| Active | Tersedia untuk dikonsumsi. Hanya pesan dengan status ini yang dapat dikonsumsi. |
| Inactive | Telah dikonsumsi dan sementara disembunyikan selama durasi VisibilityTimeout. |
| Delayed | Menunggu periode DelaySeconds berakhir sebelum menjadi Active. |
| Deleted | Dihapus secara eksplisit oleh konsumen menggunakan receipt handle-nya. |
| Expired | Melebihi MessageRetentionPeriod dan didaur ulang secara otomatis. |
Transisi Status
Pesan standar dalam antrian standar
Pesan tiba di antrian dengan status Active.
Konsumen menerima pesan tersebut. Statusnya berubah menjadi Inactive selama periode VisibilityTimeout.
Dua kemungkinan hasil:
Konsumen menghapus pesan dalam periode VisibilityTimeout. Statusnya berubah menjadi Deleted.
Periode VisibilityTimeout berakhir tanpa penghapusan. Statusnya kembali ke Active, dan pesan tersedia kembali untuk dikonsumsi.
Pesan standar dalam antrian delayed
Pesan tiba di antrian dengan status Delayed.
Setelah periode DelaySeconds berakhir, statusnya berubah menjadi Active.
Sejak titik ini, pesan mengikuti transisi yang sama seperti pesan standar dalam antrian standar.
Pesan delayed (penundaan per pesan)
Pesan dikirim dengan nilai DelaySeconds per pesan. Status awalnya adalah Delayed.
Setelah periode DelaySeconds berakhir, statusnya berubah menjadi Active.
Sejak titik ini, pesan mengikuti transisi yang sama seperti pesan standar dalam antrian standar.
Kedaluwarsa pesan
Jika pesan tidak dihapus sebelum MessageRetentionPeriod-nya berakhir, statusnya berubah menjadi Expired terlepas dari status saat ini. Pesan yang kedaluwarsa didaur ulang secara otomatis.
Diagram transisi status

Diagram siklus hidup pesan
