ApsaraMQ for RocketMQ menyediakan tiga metode kueri pesan: berdasarkan ID pesan, kunci pesan, dan topik. Fitur ini memungkinkan Anda memverifikasi keberhasilan pengiriman pesan, memeriksa konten pesan, serta melihat jejak pesan.
Metode pemeriksaan
Secara default, pesan disimpan di ApsaraMQ for RocketMQ selama tiga hari. Dengan demikian, Anda hanya dapat mengkueri pesan yang dikirim dalam rentang waktu tiga hari terakhir. Misalnya, jika waktu saat ini adalah 15:09:48 pada 10 Juni 2019, pesan paling awal yang dapat dikueri dalam suatu topik dikirim pada pukul 15:09:48 tanggal 7 Juni 2019.
Tabel berikut membandingkan ketiga metode kueri tersebut.
Metode kueri | Kondisi kueri | Jenis kueri | Deskripsi |
Kueri berdasarkan ID pesan | Topik + ID Pesan | Kueri eksak | Tentukan topik dan ID pesan untuk menemukan pesan tertentu dan mendapatkan propertinya. |
Kueri berdasarkan kunci pesan | Topik + Kunci pesan | Kueri fuzzy | Tentukan topik dan kunci pesan untuk menemukan 64 pesan terbaru yang mengandung kunci tersebut. Penting Tetapkan kunci unik untuk setiap pesan. Hal ini memastikan bahwa tidak lebih dari 64 pesan memiliki kunci yang sama. Jika tidak, beberapa pesan mungkin tidak muncul dalam hasil kueri Anda. |
Kueri berdasarkan topik | Topik + Rentang waktu | Kueri rentang | Tentukan topik dan rentang waktu untuk mendapatkan semua pesan yang cocok secara massal. Kueri ini dapat mengembalikan banyak pesan, sehingga sulit menemukan pesan tertentu. |
Proses kueri yang direkomendasikan
Ikuti proses berikut untuk mengkueri pesan.

Prosedur
Masuk ke ApsaraMQ for RocketMQ console. Di panel navigasi sebelah kiri, klik Instances.
Di bilah menu atas, pilih wilayah, misalnya China (Hangzhou).
Pada halaman Instances, temukan instans target. Di kolom Actions, klik More dan pilih Message Query dari menu tarik-turun.
Pada halaman Message Query, pilih salah satu metode kueri berikut, masukkan informasi yang diperlukan sesuai petunjuk, lalu klik Search untuk menemukan pesan.
Query by Message ID
Kueri berdasarkan ID pesan merupakan kueri eksak. Anda dapat memasukkan topik dan ID pesan untuk menemukan pesan tertentu. Untuk mempermudah pemecahan masalah, kami menyarankan agar Anda mencatat ID pesan ke log setelah pesan dikirim.
Kode Java SDK berikut menunjukkan cara mendapatkan ID pesan.
SendResult sendResult = producer.send(msg); String msgId = sendResult.getMessageId();Untuk informasi tentang bahasa lainnya, lihat SDK Reference Overview.
Query by Message Key
ApsaraMQ for RocketMQ membuat indeks untuk pesan berdasarkan kunci pesan yang Anda tetapkan. Saat melakukan kueri menggunakan kunci pesan, ApsaraMQ for RocketMQ menggunakan indeks tersebut untuk menemukan dan mengembalikan pesan yang cocok.
PentingUntuk melakukan kueri berdasarkan kunci pesan, Anda harus menetapkan properti kunci pesan saat mengirim pesan.
Kueri berdasarkan kunci pesan hanya mengembalikan 64 pesan terbaru yang cocok. Oleh karena itu, tetapkan kunci yang unik dan mampu mengidentifikasi pesan bisnis tersebut.
Kode berikut menunjukkan cara menetapkan kunci pesan.
Message msg = new Message("Topic","*","Hello MQ".getBytes()); /** * Tetapkan kunci pengambilan untuk setiap pesan. Kunci tersebut merepresentasikan atribut bisnis penting dari pesan. Buat kunci tersebut seunik mungkin secara global. * Hal ini memungkinkan Anda mengkueri pesan di Konsol ApsaraMQ for RocketMQ jika pesan tidak diterima seperti yang diharapkan. Jika Anda tidak menetapkan kunci, hal ini tidak memengaruhi pengiriman dan penerimaan pesan secara normal. */ msg.setKey("TestKey"+System.currentTimeMillis());Query by Topic
Anda dapat melakukan kueri berdasarkan topik jika ID pesan dan kunci pesan tidak tersedia. Tentukan topik dan rentang waktu untuk mengambil semua pesan yang dikirim dalam periode tersebut, lalu cari data yang dibutuhkan dari hasilnya.
PentingPerhatikan hal-hal berikut saat melakukan kueri pesan berdasarkan topik:
Kueri berdasarkan topik merupakan kueri rentang yang mengambil semua pesan dalam topik sesuai dengan rentang waktu yang ditentukan. Untuk meningkatkan kinerja kueri, tentukan rentang waktu yang sesingkat mungkin.
Jika banyak pesan dikembalikan, hasilnya akan dipaginasi.
Deskripsi hasil kueri
Hasil kueri dapat dilihat di halaman Message Query di Konsol. Daftar hasil menampilkan ID pesan, tag, kunci, waktu pembuatan, dan waktu penyimpanan untuk setiap pesan. Anda juga dapat mengkueri jejak pesan, memverifikasi konsumsi, atau mengunduh pesan dari daftar tersebut.
Verifikasi konsumsi
ApsaraMQ for RocketMQ menyediakan fitur verifikasi konsumsi yang memungkinkan Anda mendorong pesan tertentu ke klien online tertentu guna memeriksa apakah logika dan hasil konsumsi klien sesuai dengan yang diharapkan.
Fitur verifikasi konsumsi hanya memverifikasi logika konsumsi klien dan tidak memengaruhi proses penerimaan pesan. Oleh karena itu, status konsumsi pesan dan informasi terkait lainnya tetap tidak berubah setelah verifikasi.
Fitur verifikasi konsumsi hanya memverifikasi logika konsumsi klien. Fitur ini tidak memengaruhi proses penerimaan pesan secara normal. Oleh karena itu, status konsumsi pesan dan informasi lainnya tidak berubah setelah verifikasi.

Referensi
Dari hasil kueri, Anda dapat melihat jejak pesan, status konsumsi, dan hasil konsumsi. Untuk informasi selengkapnya, lihat Query message traces.