Topik ini menjelaskan kemampuan inti, definisi jejak, dan opsi ingesti data untuk solusi tracing end-to-end Lightweight Message Queue (sebelumnya MNS).
Ikhtisar
Dalam sistem aplikasi terdistribusi, interaksi antar layanan melibatkan komunikasi jaringan dan transfer data yang kompleks. Satu permintaan sering kali memerlukan beberapa panggilan layanan internal untuk diselesaikan. Sebagai komponen inti dalam komunikasi asinkron antar layanan, message queue menangani tugas-tugas kritis seperti penggeseran beban puncak dan penguraian keterkaitan aplikasi. Ketika pesan berpindah antara produsen, message queue, dan konsumen, kegagalan pada salah satu bagian rantai tersebut dapat menyebabkan kehilangan pesan, penundaan, atau konsumsi duplikat, sehingga menyulitkan pelacakan akar permasalahan secara cepat.
Solusi tracing end-to-end Lightweight Message Queue mencatat seluruh jalur transmisi pesan sepanjang siklus hidupnya serta menyediakan log terperinci dan metrik performa. Lightweight Message Queue mendukung ingesti data jejak yang sesuai dengan OpenTelemetry ke layanan Tracing Analysis Alibaba Cloud, membantu Anda mendiagnosis anomali dalam sistem messaging terdistribusi secara cepat.
Kemampuan Inti
Audit produksi dan konsumsi: Mencatat detail operasi, waktu eksekusi, dan status hasil.
Kueri bersyarat: Mempercepat pelokasian masalah menggunakan filter seperti ID pesan, nama antrian, dan rentang waktu.
Integrasi terstandarisasi: Mengikuti standar OpenTelemetry dan terintegrasi mulus dengan data tracing aplikasi.
Deteksi anomali: Secara otomatis mendeteksi dan menandai jejak abnormal untuk mempercepat diagnosis gangguan.
Definisi Jejak
Tracing Lightweight Message Queue mengikuti spesifikasi OpenTelemetry Messaging Spans dan memperluas spesifikasi tersebut dengan atribut khusus message queue.
Atribut Span Messaging Umum
Lightweight Message Queue mendukung atribut tracing messaging umum yang didefinisikan dalam standar OpenTelemetry. Untuk informasi lebih lanjut, lihat spesifikasi OpenTelemetry Messaging Spans.
Atribut-atribut tersebut meliputi:
messaging.system: Identifier untuk sistem messaging.messaging.operation.name: Nama operasi.messaging.operation.type: Jenis operasi.messaging.destination.name: Nama antrian atau topik tujuan.messaging.message.id: ID pesan.error.type: Jenis error (ketika operasi gagal).
Atribut Khusus Lightweight Message Queue
Selain atribut standar, Lightweight Message Queue menyediakan atribut span-spesifik berikut:
Nama Atribut | Tipe | Deskripsi | Contoh Nilai | Tingkat Kewajiban |
| string | Nama metode operasi Lightweight Message Queue spesifik. | SendMessage, ReceiveMessage, PublishMessage | Required |
| string | ID unik dari permintaan. | 6733433D43444218004FAED2 | Required |
| string | Tag pesan untuk pesan yang dipublikasikan ke topik. | order, payment | Optional |
| int | Stempel waktu UNIX (dalam detik) saat pesan menjadi terlihat kembali. | 1731413593 | Optional |
| string | Receipt handle yang dikembalikan saat menerima pesan. | 8-oMWXHzxBZlgIlzuz8ztxz0z8MHzcT8Z3Zsy3y0 | Optional |
| string | Receipt handle yang digunakan untuk menghapus atau memodifikasi pesan. | 8-oMWXHzxBZlgIlzuz8ztxz0z8MHzcT8Z3Zsy3y0 | Optional |
| string | Jenis langganan. | HTTP, HTTPS, QUEUE | Optional |
Detail Nilai Atribut
Nilai-nilai berikut didukung untuk messaging.smq.operation:
SendMessage: Kirim pesan antrian.BatchSendMessage: Kirim pesan antrian dalam batch.ReceiveMessage: Terima pesan antrian.BatchReceiveMessage: Terima pesan antrian dalam batch.DeleteMessage: Hapus pesan antrian.BatchDeleteMessage: Hapus pesan antrian dalam batch.ChangeMessageVisibility: Ubah timeout visibilitas pesan.PeekMessage: Intip pesan antrian tanpa menghapusnya.BatchPeekMessage: Intip pesan antrian dalam batch tanpa menghapusnya.PublishMessage: Publikasikan pesan ke topik.ConsumeMessage: Konsumsi pesan yang telah di-subscribe.AckMessage: Konfirmasi konsumsi pesan.Notify: Dorong notifikasi.
Nilai-nilai berikut didukung untuk messaging.smq.subscription.type:
HTTP: Subscription endpoint HTTP.HTTPS: Subscription endpoint HTTPS.QUEUE: Subscription antrian.
Batasan
Hanya client SDK Java (versi 1.3.0 atau lebih baru) yang mendukung pelaporan data jejak ke Tracing Analysis. Untuk informasi lebih lanjut tentang versi SDK, lihat Riwayat versi.
Opsi Ingesti Data Jejak
Anda dapat mengintegrasikan Lightweight Message Queue dengan Application Real-Time Monitoring Service (ARMS) untuk mengaktifkan pengumpulan, penyimpanan, dan analisis data jejak secara terpadu. Untuk informasi lebih lanjut, lihat Apa itu pemantauan aplikasi?.
Integrasi dengan Pemantauan Aplikasi ARMS
Untuk petunjuk langkah demi langkah, lihat Onboarding aplikasi.