全部产品
Search
文档中心

ApsaraMQ for RocketMQ:Penyimpanan dan pembersihan pesan

更新时间:Jul 02, 2025

Tema ini menjelaskan cara ApsaraMQ for RocketMQ menyimpan pesan, termasuk granularitas penyimpanan, kriteria penentuan, dan kebijakan pemrosesan.

Informasi latar belakang

Berdasarkan definisi Antrian dalam ApsaraMQ for RocketMQ, pesan disimpan dalam antrian berdasarkan urutan diterimanya oleh broker. Secara teori, jumlah pesan yang dapat disimpan oleh sebuah antrian tidak terbatas.

Dalam skenario penyebaran aktual, pesan tidak dapat disimpan secara permanen karena ruang penyimpanan fisik broker terbatas. Oleh karena itu, saat Anda menyebarkan pesan, Anda perlu menjawab tiga pertanyaan: Kriteria apa yang digunakan untuk menentukan cara menyimpan pesan di broker? Granularitas apa yang digunakan untuk mengelola pesan yang tersimpan? Langkah apa yang harus diambil ketika penggunaan penyimpanan pesan melebihi batas? Mekanisme penyimpanan dan pembersihan pesan ApsaraMQ for RocketMQ memberikan jawaban atas pertanyaan-pertanyaan tersebut.

Anda dapat melakukan operasi & pemeliharaan (O&M) dengan lebih baik menggunakan mekanisme penyimpanan dan pembersihan pesan berdasarkan aspek-aspek berikut:
  • SLA untuk penyimpanan: Durasi penyimpanan mengacu pada periode waktu di mana pengguna dapat memperoleh pesan. Fitur ini cocok untuk skenario yang memerlukan periode konsumsi panjang, akumulasi pesan, dan pemulihan kesalahan.
  • Evaluasi dan pengendalian biaya penyimpanan: ApsaraMQ for RocketMQ menyimpan pesan di disk. Anda dapat mengevaluasi ruang penyimpanan dan memesan sumber daya penyimpanan terlebih dahulu.

Mekanisme penyimpanan pesan

Mekanisme kerja

Setiap node dari ApsaraMQ for RocketMQ menyimpan pesan selama periode waktu tertentu. Periode waktu ini, dikenal sebagai durasi penyimpanan, digunakan untuk menentukan berapa lama pesan disimpan. Pesan yang berada dalam durasi penyimpanan dipertahankan, sedangkan pesan yang melebihi batas durasi dibersihkan, terlepas dari apakah mereka dikonsumsi atau tidak.

Berikut ini adalah deskripsi item-item yang terkait dengan mekanisme penyimpanan pesan:

  • Granularitas manajemen: ApsaraMQ for RocketMQ mengelola durasi penyimpanan pesan berdasarkan node.
  • Kriteria penentuan: Durasi penyimpanan pesan digunakan sebagai kriteria penentuan. Dibandingkan dengan jumlah atau ukuran pesan, durasi penyimpanan dapat membantu Anda mengevaluasi nilai pesan secara lebih efisien.
  • Apakah penyimpanan pesan terkait dengan status konsumsi: Durasi penyimpanan pesan dalam ApsaraMQ for RocketMQ dimulai dari titik waktu ketika pesan diproduksi dan tidak terkait dengan status konsumsi. Anda dapat menyederhanakan mekanisme penyimpanan pesan dengan menggunakan strategi perhitungan yang seragam.
Gambar berikut menunjukkan bagaimana pesan disimpan dalam antrian.Message storage

Granularitas manajemen

ApsaraMQ for RocketMQ mengelola durasi penyimpanan berdasarkan node broker karena alasan-alasan berikut:
  • Keuntungan penyimpanan pesan: ApsaraMQ for RocketMQ mengelola data fisik menggunakan metode organisasi dua tingkat yang seragam yang terdiri dari antrian log fisik dan antrian logis ringan. Metode ini memberikan manfaat operasi baca dan tulis yang terurut, throughput tinggi, dan performa tinggi. Namun, Anda tidak dapat mengelola penyimpanan pesan berdasarkan topik atau antrian menggunakan metode ini.
  • Jaminan kapasitas dan keamanan data: Meskipun ApsaraMQ for RocketMQ menghasilkan file penyimpanan independen berdasarkan topik atau antrian, file-file tersebut berbagi medium penyimpanan dasar yang sama. Anda dapat mengelola durasi penyimpanan berdasarkan topik atau antrian secara fleksibel. SLA untuk penyimpanan mungkin tidak terpenuhi jika kapasitas penyimpanan kluster menjadi tidak mencukupi. Jika Anda ingin mengelola pesan secara aman, cara terbaik adalah menyimpan pesan menggunakan durasi penyimpanan yang berbeda di kluster yang berbeda.

Hubungan antara penyimpanan pesan dan status konsumsi

ApsaraMQ for RocketMQ mengelola durasi penyimpanan pesan secara terpusat, terlepas dari apakah pesan tersebut dikonsumsi.

Pesan mungkin menumpuk di antrian karena konsumen tidak aktif atau konsumsi abnormal. Saat ini belum ada solusi efektif untuk masalah ini. Jika semua pesan yang tidak dikonsumsi dipertahankan, ruang penyimpanan akan cepat habis. Hal ini memengaruhi kecepatan operasi baca dan tulis untuk pesan baru.

Konsumen dapat mengelola pesan berdasarkan durasi penyimpanan untuk menentukan siklus hidup setiap pesan. Konsumen dapat mengonsumsi pesan kapan saja selama durasi penyimpanan, atau mengonsumsi pesan beberapa kali dengan menggunakan fitur Reset a consumer offset.

Mekanisme pembersihan pesan

Dalam Apache RocketMQ, durasi penyimpanan pesan berbeda dari durasi penyimpanan aktual. Hal ini karena pesan disimpan di disk lokal. Ketika ruang disk lokal tidak mencukupi, sistem secara paksa menghapus pesan untuk memastikan stabilitas layanan. Akibatnya, durasi penyimpanan aktual lebih pendek daripada durasi penyimpanan yang ditentukan.

Sistem penyimpanan ApsaraMQ for RocketMQ dikembangkan berdasarkan teknologi cloud-native Alibaba Cloud. Ini memungkinkan semua instance menggunakan ruang penyimpanan tanpa membatasi kapasitas penyimpanan. Semua pesan disimpan berdasarkan durasi penyimpanan yang ditentukan. Anda tidak perlu khawatir tentang penghapusan pesan karena ruang penyimpanan tidak mencukupi.

Catatan penggunaan

Tingkatkan durasi penyimpanan sesuai kebutuhan bisnis Anda

ApsaraMQ for RocketMQ mengontrol apakah akan mempertahankan pesan berdasarkan durasi penyimpanan. Kami merekomendasikan agar Anda menentukan durasi penyimpanan yang lebih lama sesuai dengan kebutuhan bisnis Anda. Durasi penyimpanan yang lebih lama memberi Anda lebih banyak ruang untuk melakukan operasi untuk pemulihan kesalahan darurat, pemecahan masalah darurat, dan pelacakan balik pesan.