All Products
Search
Document Center

ApsaraMQ for RocketMQ:Reset Consumer Offsets

Last Updated:Mar 13, 2026

Mengatur ulang offset konsumen mengubah posisi konsumsi saat ini dari sebuah subscriber. Jika consumer gagal atau memproses data yang salah, Anda dapat mengatur ulang offset konsumen untuk kembali ke posisi sebelumnya dan memulai ulang konsumsi. Alternatifnya, Anda juga dapat memindahkan posisi konsumsi ke offset terbaru guna sementara melewati pesan-pesan yang terakumulasi.

Informasi latar belakang

ApsaraMQ for RocketMQ menggunakan offset konsumen untuk mengelola progres konsumsi pesan. Setelah sebuah consumer memproses sebuah pesan, pesan tersebut tidak langsung dihapus dari antrian. ApsaraMQ for RocketMQ menyimpan catatan konsumsi untuk setiap kelompok. Catatan ini, yang dikenal sebagai offset konsumen, menentukan offset dari pesan terbaru yang telah dikonsumsi oleh consumer dalam kelompok tersebut untuk topik tertentu.

Ketika client consumer offline lalu kembali online, proses konsumsi dilanjutkan berdasarkan progres konsumsi yang tersimpan di sisi server.

Jika konsumsi mengalami anomali atau offset konsumen saat ini tidak sesuai, Anda dapat menyesuaikan progres konsumsi dengan mengatur ulang offset konsumen.

ApsaraMQ for RocketMQ mendukung pengaturan ulang offset konsumen melalui cara-cara berikut:

  • Start Consumption from Latest Offset

    Consumer yang memproses pesan dalam topik tertentu akan melewati semua pesan yang terakumulasi dan mulai mengonsumsi dari pesan terbaru yang dikirim setelah operasi pengaturan ulang.

  • Start Consumption from Offset Corresponding to Specified Point in Time

    • Consumer memproses pesan mulai dari offset konsumen yang sesuai dengan waktu yang ditentukan, terlepas dari apakah pesan-pesan tersebut sebelumnya telah dikonsumsi atau belum.

    • Rentang waktu yang dapat dipilih berada di antara waktu pembuatan pesan paling awal dan paling akhir yang disimpan dalam topik tersebut.

    • Saat Anda mengatur ulang ke offset konsumen pada titik waktu tertentu, sisi server secara otomatis menemukan offset konsumen terdekat yang sesuai.

Skenario

  • Bersihkan akumulasi pesan: Jika performa sistem konsumsi downstream tidak mencukupi atau kecepatan konsumsi lebih lambat daripada kecepatan produksi, banyak pesan dapat terakumulasi. Jika pesan-pesan yang terakumulasi tersebut dapat dibuang, Anda dapat mengatur ulang offset konsumen ke posisi tertentu. Hal ini memungkinkan Anda melewati pesan-pesan yang terakumulasi dan mengurangi beban pemrosesan pada sistem downstream.

  • Lakukan backtracking untuk pemrosesan korektif: Jika logika bisnis konsumsi mengalami anomali dan pesan diproses secara salah, Anda mungkin perlu mengonsumsi ulang pesan-pesan tersebut. Untuk melakukannya, Anda dapat mengatur ulang offset konsumen ke posisi historis. Ini memungkinkan backtracking konsumsi.

Catatan penggunaan

  • Pengaturan ulang offset konsumen hanya berlaku untuk offset konsumen kelompok tertentu pada topik target. Operasi ini tidak memengaruhi progres konsumsi kelompok lain yang berlangganan topik yang sama.

  • Pengaturan ulang offset konsumen tidak didukung dalam mode broadcasting consumption.

  • ApsaraMQ for RocketMQ hanya mendukung pengaturan ulang offset konsumen untuk kelompok yang menggunakan protokol TCP, bukan untuk kelompok yang menggunakan protokol HTTP.

  • Fitur pengaturan ulang offset konsumen hanya berlaku untuk pesan yang terlihat oleh consumer. Fitur ini tidak dapat mengatur ulang scheduled message atau pesan yang sedang menunggu retry.

  • Anda hanya dapat mengatur ulang offset konsumen ketika consumer sedang online.

Prosedur

  1. Masuk ke ApsaraMQ for RocketMQ console. Di panel navigasi sebelah kiri, klik Instances.

  2. Di bilah navigasi atas, pilih wilayah, misalnya China (Hangzhou). Pada halaman Instances, klik nama instans yang ingin Anda kelola.

  3. Di panel navigasi sebelah kiri, klik Groups. Lalu, klik tab TCP.

  4. Temukan ID kelompok yang ingin Anda atur ulang offset konsumennya. Di kolom Actions, klik More dan pilih Reset Consumer Offset dari menu drop-down.

  5. Pada panel Reset Consumer Offset, pilih topik target dan metode pengaturan ulang, lalu klik OK.

    Peringatan

    Jika Anda memilih Start Consumption from Latest Offset, semua pesan yang terakumulasi untuk ID kelompok tersebut pada topik yang ditentukan akan dihapus. Operasi ini memerlukan waktu sekitar 2 hingga 3 menit untuk berlaku. Jangan mengulangi operasi ini. Selama periode tersebut, seluruh consumer dalam aplikasi akan berhenti mengonsumsi selama 2 hingga 3 menit. Lakukan dengan hati-hati jika bisnis Anda sensitif terhadap latensi.

    • Start Consumption from Latest Offset: Jika Anda memilih opsi ini, consumer dalam kelompok akan melewati semua pesan yang terakumulasi pada topik yang ditentukan dan mulai mengonsumsi dari pesan terbaru.

    • Start Consumption from Offset Corresponding to Specified Point in Time: Jika Anda memilih opsi ini, kontrol pemilihan waktu akan ditampilkan. Anda dapat menentukan titik waktu tertentu. Consumer akan mulai mengonsumsi pesan yang dikirim setelah waktu tersebut, terlepas dari apakah pesan tersebut sebelumnya telah dikonsumsi atau belum.

  6. Pada kotak dialog Prompt, konfirmasi informasinya lalu klik OK.

FAQ

Apa yang harus saya lakukan jika gagal mengatur ulang offset konsumen dengan kedua metode tersebut?

  1. Pastikan Anda menggunakan clustering consumption. Mode broadcasting consumption tidak mendukung pengaturan ulang offset konsumen.

  2. Pastikan consumer sedang online. Anda hanya dapat mengatur ulang offset konsumen ketika consumer sedang online.

  3. Periksa versi SDK. Masalah ini dapat terjadi jika versi SDK sudah usang. Kami menyarankan Anda melakukan upgrade SDK ke versi terbaru. Sebagai contoh, versi TCP client SDK untuk Java harus 1.8.0.Final atau lebih baru. Untuk informasi selengkapnya, lihat Version Guide.

Mengapa beberapa pesan tidak diatur ulang setelah saya mengatur ulang offset konsumen untuk melewati pesan yang terakumulasi?

Fitur pengaturan ulang offset konsumen tidak berlaku untuk pesan yang berada dalam status retry. Oleh karena itu, sejumlah kecil pesan yang sedang menunggu retry mungkin tetap dikirimkan setelah pengaturan ulang.

Pesan paling awal apa yang dapat dikonsumsi ulang oleh consumer dengan mengatur ulang offset konsumen?

Saat Anda mengatur ulang offset ke titik waktu tertentu, waktu paling awal yang dapat Anda pilih sesuai dengan waktu penyimpanan pesan paling awal dalam topik tersebut. Instans seri ApsaraMQ for RocketMQ 4.x menyimpan pesan maksimal selama 3 hari. Pesan yang berusia lebih dari 3 hari akan dihapus dari topik.

Oleh karena itu, consumer dapat mengonsumsi ulang pesan yang berusia hingga 3 hari dengan mengatur ulang offset konsumen.

Referensi

Selain melalui console, ApsaraMQ for RocketMQ juga memungkinkan Anda mengatur ulang offset konsumen dengan memanggil operasi API.

Reset Group ID Consumer Offset