Simple Message Queue (formerly MNS) menyediakan fitur jejak pesan yang memungkinkan Anda melacak jalur lengkap sebuah pesan, termasuk detail seperti waktu, hasil, produsen, dan konsumen pada setiap langkah—mulai dari pengiriman, pencocokan langganan, dorongan (push), hingga konsumsi. Fitur ini membantu Anda memecahkan masalah terkait pengiriman dan penerimaan pesan secara cepat.
Skenario
Simple Message Queue (formerly MNS) dapat membantu Anda mengatasi masalah berikut:
Periksa apakah pesan berhasil dikirim: Jika Anda menduga sebuah pesan tidak diterima, Anda dapat menggunakan jejak pesan untuk memastikan apakah pesan tersebut telah dikirim ke antrian atau topik dan apakah telah dikonsumsi.
Pecahkan masalah konsumsi pesan berulang: Jika Anda menemukan bahwa pesan yang sama dikonsumsi beberapa kali, Anda dapat menggunakan jejak pesan untuk melihat catatan konsumsi lengkap, termasuk waktu, identitas konsumen, dan hasil setiap kali konsumsi.
Pecahkan kegagalan dorongan topik: Jika dorongan ke langganan HTTP, langganan email, atau titik akhir lain gagal, Anda dapat menggunakan jejak pesan untuk melihat status dorongan secara rinci beserta alasan kegagalannya.
Pecahkan latensi pesan: Jika Anda mengamati latensi konsumsi pesan yang tinggi, Anda dapat menggunakan jejak pesan untuk melihat waktu yang dihabiskan pada setiap tahap dan mengidentifikasi sumber keterlambatan tersebut.
Periksa status pesan terjadwal: Anda dapat memverifikasi apakah pesan terjadwal telah mencapai waktu pengiriman yang ditentukan sebelumnya.
Kueri identitas produsen dan konsumen: Anda dapat melihat alamat IP pengirim dan AccessKey, serta alamat IP konsumen, untuk membantu penyelidikan lebih lanjut.
Deskripsi parameter jejak
Jejak pesan Antrian
Jejak pesan antrian terdiri dari tiga bagian: informasi pengiriman, informasi pesan, dan informasi konsumsi.
Kirim informasi
Skenario pengiriman normal
Parameter | Deskripsi |
Sumber pesan | Sumber pesan adalah produsen. Artinya, produsen mengirimkan pesan langsung ke antrian. |
Metode | Jenis operasi API, seperti SendMessage atau BatchSendMessage. |
IP Produsen | Alamat IP klien yang mengirimkan pesan. |
AccessKey | AccessKey yang digunakan untuk mengirimkan pesan. |
Waktu pengiriman | Waktu server saat pesan tiba di antrian. |
Hasil | Hasil pengiriman. Menampilkan "Success" atau pesan kesalahan tertentu. |
Skenario antrian pesan gagal
Ketika sebuah pesan dipindahkan dari antrian sumber ke antrian pesan gagal, catatan jejak pengiriman baru akan dibuat.
Parameter | Deskripsi |
Sumber pesan | Konstanta: Dead-letter |
Antrian sumber | Nama antrian asal |
ID pesan antrian sumber | ID pesan dari pesan di antrian sumber. |
Waktu pengiriman | Waktu saat pesan masuk ke antrian pesan gagal. |
Hasil | Hasil pengiriman. Menampilkan "Success" atau pesan kesalahan tertentu. |
Skenario dorongan langganan
Ketika topik mendorong pesan ke antrian melalui langganan antrian, catatan jejak pengiriman akan dibuat.
Parameter | Deskripsi |
Sumber pesan | Konstanta: Topic queue subscription |
Topik | Nama topik yang mendorong pesan. |
Langganan | Nama langganan yang mendorong pesan. |
ID pesan sumber | ID pesan dari pesan di topik. |
Waktu pengiriman | Waktu saat pesan didorong ke antrian. |
Hasil | Hasil pengiriman. Menampilkan "Success" atau pesan kesalahan tertentu. |
Skenario produk cloud lainnya
Ketika notifikasi event mendorong pesan ke antrian melalui langganan antrian, catatan jejak pengiriman akan dibuat.
Parameter | Deskripsi |
Sumber pesan | Konstanta: Other cloud products |
Metode | Konstanta: Notify |
Waktu pengiriman | Waktu saat pesan didorong ke antrian. |
Hasil | Hasil pengiriman. Menampilkan "Success" atau pesan kesalahan tertentu. |
Informasi pesan
Pesan normal
Parameter | Deskripsi |
Jenis pesan | Konstanta: Normal message |
ID pesan | Pengidentifikasi unik pesan. |
Antrian | Nama antrian tempat pesan berada. |
Durasi penyimpanan | Waktu maksimum penyimpanan pesan di antrian. Ini sesuai dengan properti MessageRetentionPeriod dari antrian. |
Periode timeout visibilitas | Periode default ketika pesan menjadi tidak terlihat setelah dikonsumsi. Ini sesuai dengan properti VisibilityTimeout dari antrian. |
Pesan terjadwal
Parameter | Deskripsi |
Jenis pesan | Konstanta: Scheduled message |
ID pesan | Pengidentifikasi unik pesan. |
Antrian | Nama antrian tempat pesan berada. |
Durasi penyimpanan | Waktu maksimum penyimpanan pesan di antrian. Ini sesuai dengan properti MessageRetentionPeriod dari antrian. |
Periode timeout visibilitas | Periode default ketika pesan menjadi tidak terlihat setelah dikonsumsi. Ini sesuai dengan properti VisibilityTimeout dari antrian. |
Durasi Penjadwalan | Durasi penundaan pesan dalam detik. |
Jadwalkan waktu akhir | Waktu yang telah ditentukan sebelumnya saat pesan dapat dikonsumsi. |
Informasi konsumsi
Jejak konsumsi pesan untuk antrian dikelompokkan berdasarkan ReceiptHandle. Setiap ReceiptHandle merepresentasikan satu sesi konsumsi untuk pesan tersebut.
Parameter | Deskripsi |
Hasil saat ini | Hasil akhir dari sesi konsumsi saat ini. Hasil meliputi namun tidak terbatas pada:
|
IP Konsumen | Alamat IP klien yang menerima atau melakukan operasi pada pesan. |
AccessKey | AccessKey yang digunakan untuk melakukan operasi pada pesan. |
ReceiptHandle | Handle pesan. Gunakan untuk menghapus pesan atau mengubah visibilitas pesan. |
Waktu operasi | Waktu server saat operasi dieksekusi. |
Operasi | Operasi API yang dieksekusi. Operasi meliputi hal-hal berikut:
|
Satu pesan dapat memiliki beberapa ReceiptHandle. ReceiptHandle baru dihasilkan setiap kali operasi ReceiveMessage atau BatchReceiveMessage dipanggil.
Jika konsumen menghapus pesan sebelum periode timeout visibilitasnya berakhir, hasil sesi konsumsi tersebut adalah "Success".
Jika konsumen mengambil pesan tetapi tidak menghapusnya, pesan tersebut menjadi tersedia kembali untuk dikonsumsi setelah periode timeout visibilitas berakhir, sehingga menghasilkan ReceiptHandle baru.
Jika Anda menggunakan ReceiptHandle yang kedaluwarsa untuk melakukan operasi pada pesan, kesalahan 404 akan dikembalikan.
Jejak pesan Topik
Jejak pesan topik terdiri dari tiga bagian: informasi pengiriman, informasi pencocokan langganan, dan informasi dorongan.
Informasi pengiriman
Skenario pengiriman normal
Parameter | Deskripsi |
Sumber pesan | Sumber pesan adalah produsen. Artinya, produsen mengirimkan pesan langsung ke topik. |
Metode | Jenis operasi API, PublishMessage. |
IP Produsen | Alamat IP klien yang mengirimkan pesan. |
AccessKey | AccessKey yang digunakan untuk mengirimkan pesan. |
Waktu pengiriman | Waktu server saat pesan tiba di topik. |
Hasil | Hasil pengiriman. Menampilkan "Success" atau pesan kesalahan tertentu. |
Skenario produk cloud lainnya
Ketika notifikasi event mendorong pesan ke antrian melalui langganan antrian, catatan jejak pengiriman akan dibuat.
Parameter | Deskripsi |
Sumber pesan | Konstanta: Other cloud products |
Metode | Jenis operasi API, PublishMessage. |
Waktu pengiriman | Waktu saat pesan didorong ke topik. |
Hasil | Hasil pengiriman. Menampilkan "Success" atau pesan kesalahan tertentu. |
Informasi pencocokan langganan
Setelah topik menerima pesan, topik tersebut mencocokkan langganan berdasarkan kondisi filternya (FilterTag) dan mendorong pesan ke langganan yang cocok.
Parameter | Deskripsi |
ID pesan | Pengidentifikasi unik pesan. |
Tag | Tag pesan, digunakan untuk pemfilteran langganan. |
Nama langganan | Nama langganan yang cocok. |
Jenis langganan | Jenis titik akhir langganan. Jenis meliputi hal-hal berikut:
|
Informasi dorongan
Langganan antrian
Parameter | Deskripsi |
ID pesan | ID pesan baru setelah pesan didorong ke antrian. |
Hasil konsumsi | Menunjukkan apakah dorongan berhasil. Menampilkan "Success" atau pesan kesalahan tertentu. |
Waktu dorongan | Waktu saat dorongan dimulai. |
waktu pemrosesan | Waktu yang dibutuhkan untuk dorongan, dalam milidetik. |
Langganan lainnya (HTTP/Email/Alibaba Cloud SMS)
Parameter | Deskripsi |
Hasil dorongan | Kode status dan hasil dorongan. Kode meliputi hal-hal berikut:
|
Waktu dorongan | Waktu saat dorongan dimulai. |
waktu pemrosesan | Waktu yang dibutuhkan untuk dorongan, dalam milidetik. |
Batasan
Jejak pesan: Fitur ini dinonaktifkan secara default. Anda dapat mengaktifkannya di halaman Message Trace.
Rentang waktu kueri: Waktu mulai dapat berada dalam 15 hari terakhir. Setiap kueri dapat mencakup maksimal 3 hari.
Deskripsi penagihan
Untuk informasi selengkapnya, lihat Biaya jejak pesan.
Durasi penyimpanan jejak pesan
Data jejak pesan disimpan selama 15 hari. Data jejak yang berusia lebih dari 15 hari akan dihapus secara otomatis dan tidak dapat dikueri.
Metode kueri
Simple Message Queue (formerly MNS) menyediakan lima metode untuk mengkueri jejak pesan. Anda dapat memilih metode yang sesuai berdasarkan kebutuhan Anda.
Metode kueri | Skenario | Hasil |
Kueri berdasarkan ID pesan | Gunakan metode ini jika Anda mengetahui ID pesan dan perlu mengkueri jejak lengkap untuk pesan tersebut. | Mengembalikan jejak pesan yang unik. |
Kueri berdasarkan RequestID | Gunakan metode ini jika Anda mengetahui RequestID dari panggilan API dan perlu mengkueri pesan-pesan yang terlibat dalam permintaan tersebut. | Mengembalikan jejak pesan untuk pesan-pesan yang terlibat dalam permintaan tersebut. |
Kueri berdasarkan nama antrian | Gunakan metode ini untuk melihat semua jejak pesan untuk antrian tertentu dalam periode waktu tertentu. | Mengembalikan jejak pesan untuk antrian dalam rentang waktu yang ditentukan. |
Kueri berdasarkan nama topik | Gunakan metode ini untuk melihat semua jejak pesan untuk topik tertentu dalam periode waktu tertentu. | Mengembalikan jejak pesan untuk topik dalam rentang waktu yang ditentukan. |
Kueri berdasarkan nama langganan | Gunakan metode ini untuk melihat semua jejak pesan yang didorong oleh langganan tertentu dalam periode waktu tertentu. | Mengembalikan jejak pesan untuk pesan-pesan yang didorong oleh langganan dalam rentang waktu yang ditentukan. |
Jika Anda mengetahui ID pesan, gunakan metode kueri berdasarkan ID pesan terlebih dahulu untuk mendapatkan hasil yang tepat secara cepat.
Untuk memecahkan masalah pesan dalam periode waktu tertentu, gunakan metode kueri berdasarkan nama antrian, nama topik, atau nama langganan.
Kueri berdasarkan RequestID berguna untuk memecahkan masalah panggilan API, seperti dalam skenario pengiriman batch atau konsumsi batch.
Prosedur
Kueri jejak pesan
Di panel navigasi sebelah kiri, pilih .
Di bilah navigasi atas, pilih wilayah.
Untuk mengaktifkan fitur jejak pesan, klik tombol Off.
Di halaman Message Trace, pilih metode kueri dan masukkan kondisi kueri sesuai kebutuhan Anda.
Kueri berdasarkan ID pesan: Masukkan ID pesan dan klik Query.
Kueri berdasarkan RequestID: Masukkan RequestID dari panggilan API dan klik Query.
Kueri berdasarkan nama antrian: Pilih nama antrian dan waktu mulai. Waktu mulai harus berada dalam 15 hari terakhir, dan kueri dapat mencakup maksimal 3 hari. Lalu, klik Query.
Kueri berdasarkan nama topik: Pilih nama topik dan waktu mulai. Waktu mulai harus berada dalam 15 hari terakhir, dan kueri dapat mencakup maksimal 3 hari. Lalu, klik Query.
Kueri berdasarkan nama langganan: Pilih topik dan nama langganan, serta waktu mulai. Waktu mulai harus berada dalam 15 hari terakhir, dan kueri dapat mencakup maksimal 3 hari. Lalu, klik Query.
Di daftar hasil kueri, temukan pesan target dan klik Details di kolom Operation.
Di halaman detail jejak pesan, lihat informasi jejak lengkap untuk pesan tersebut.
Detail jejak pesan Antrian: Termasuk informasi pengiriman, informasi pesan, dan informasi konsumsi.
Informasi pengiriman: Lihat sumber pesan, metode pengiriman, IP produsen, AccessKey, waktu kedatangan, dan hasil pengiriman.
Informasi pesan: Lihat ID pesan, nama antrian, durasi penyimpanan, dan periode timeout visibilitas. Untuk pesan terjadwal, durasi penundaan dan waktu konsumsi terjadwal juga ditampilkan.
Informasi konsumsi: Lihat catatan konsumsi pesan, dikelompokkan berdasarkan ReceiptHandle. Perluas ReceiptHandle untuk melihat semua operasi dalam sesi konsumsi tersebut, termasuk waktu, IP konsumen, dan hasil operasi seperti menerima, menghapus, dan mengubah visibilitas.
Detail jejak pesan Topik: Termasuk informasi pengiriman, informasi pencocokan langganan, dan informasi dorongan.
Informasi pengiriman: Lihat metode pengiriman, IP produsen, AccessKey, waktu kedatangan, dan hasil pengiriman.
Informasi pencocokan langganan: Lihat ID pesan, tag, nama langganan yang cocok, dan jenis langganan.
Informasi dorongan: Lihat hasil dorongan, waktu dorongan, dan detail lainnya untuk setiap langganan. Untuk langganan antrian, ID pesan baru setelah dorongan ditampilkan. Untuk langganan HTTP, email, dan pesan teks, kode status dorongan dan waktu pemrosesan ditampilkan.
(Opsional) Untuk melihat jejak pesan setelah langganan antrian mendorong pesan ke antrian, klik tautan Message ID di informasi dorongan. Hal ini akan mengarahkan Anda ke detail jejak untuk pesan antrian tersebut.
FAQ
T: Mengapa saya tidak dapat menemukan jejak pesan?
J: Kemungkinan alasannya meliputi hal-hal berikut:
Data jejak pesan berusia lebih dari 15 hari dan telah dihapus.
Rentang waktu kueri salah. Coba perluas rentang waktu tersebut.
ID pesan atau RequestID dimasukkan secara salah. Periksa ID tersebut dan lakukan kueri ulang.
T: Apa arti "No acknowledgement" dalam jejak pesan?
J: "No acknowledgement" berarti konsumen menerima pesan tetapi tidak menghapusnya sebelum periode timeout visibilitas berakhir. Pesan tersebut kemudian menjadi terlihat kembali untuk dikonsumsi. Pastikan program konsumen Anda memproses dan menghapus pesan dengan benar.
T: Mengapa satu pesan memiliki beberapa ReceiptHandle?
J: ReceiptHandle baru dihasilkan setiap kali API ReceiveMessage atau BatchReceiveMessage dipanggil untuk menerima pesan. Jika konsumen menerima pesan tetapi tidak menghapusnya, pesan tersebut menjadi terlihat kembali setelah periode timeout visibilitas berakhir. Menerima pesan tersebut lagi akan menghasilkan ReceiptHandle baru.
T: Apakah pelacakan pesan memengaruhi kinerja pengiriman dan penerimaan pesan?
J: Tidak, tidak memengaruhi. Jejak pesan direkam secara asinkron. Proses ini tidak memengaruhi kinerja atau keandalan pengiriman dan penerimaan pesan. Bahkan jika pencatatan jejak gagal, operasi pesan normal tidak terpengaruh.