All Products
Search
Document Center

ApsaraMQ for RocketMQ:Migrasikan kluster Apache RocketMQ yang dikelola sendiri ke ApsaraMQ for RocketMQ

Last Updated:Mar 12, 2026

Saat menjalankan kluster Apache RocketMQ yang dikelola sendiri, Anda bertanggung jawab atas pembaruan patch, penskalaan, pemantauan, dan pengamanan setiap node broker. ApsaraMQ for RocketMQ menghilangkan beban tersebut dengan menyediakan layanan messaging yang sepenuhnya terkelola. Tool migrasi bawaan memindahkan kluster Anda ke instans ApsaraMQ for RocketMQ dengan gangguan minimal: menyinkronkan metadata, mengarahkan traffic melalui alih bencana per topik secara bertahap, serta mendukung operasi batch dan rollback pada setiap tahap.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Instans ApsaraMQ for RocketMQ 5.0. Lihat Buat instans

  • Peran terkait layanan untuk migrasi, seperti dijelaskan dalam tabel berikut. Lihat Peran terkait layanan

    ItemNilai
    Nama peranAliyunServiceRoleForRMQMigration
    KebijakanAliyunServiceRolePolicyForRMQMigration
    TujuanMengizinkan ApsaraMQ for RocketMQ mengakses Virtual Private Cloud (VPC) selama migrasi

Analisis kluster saat ini

Sebelum memulai, verifikasi bahwa kluster sumber kompatibel dan rencanakan cakupan migrasi.

Persyaratan kluster sumber

Kluster Apache RocketMQ sumber harus memenuhi persyaratan berikut. Jika tidak, kirim tiket.

PersyaratanDetail
Versi brokerApache RocketMQ 4.x atau 5.x
JaringanDideploy di VPC. Jika dideploy on-premises, kluster harus dapat diakses dari VPC.
WilayahTiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Shenzhen), Tiongkok (Zhangjiakou), AS (Silicon Valley), atau Singapura

Batasan instans tujuan

ParameterBatas
Ukuran pesanMaksimum 4 MB
Periode retensi pesan24 jam (minimum) hingga 720 jam (maksimum)
Penundaan pesan terjadwalEdisi Standar langganan dan bayar sesuai penggunaan, Edisi Standar dan Profesional arsitektur tanpa server: 7 hari. Edisi Profesional dan Platinum Enterprise langganan serta bayar sesuai penggunaan: 40 hari.

Untuk daftar lengkap, lihat Kuota dan batasan.

Kompatibilitas SDK

SDKBahasaVersiPerlu upgrade?
Apache RocketMQ Remoting SDKJava5.xTidak. Kompatibel dengan ApsaraMQ for RocketMQ.
Apache RocketMQ Remoting SDKJava, C++4.xYa, jika menggunakan PullConsumer, DefaultLitePullConsumer, atau DefaultPullConsumer. Upgrade ke versi 5.x. Lihat Ikhtisar SDK.

Remoting SDK menggunakan dependensi Maven dan format titik akhir berikut:

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-client</artifactId>
    <version>{version}</version>
</dependency>
producer.setNamesrvAddr("xxx:9876");
consumer.setNamesrvAddr("xxx:9876");
Catatan

Pesan terjadwal dan pesan retry

Periksa apakah kluster sumber Anda berisi pesan terjadwal atau pesan yang menunggu retry. Setelah migrasi, semua koneksi produsen dan konsumen dialihkan ke instans ApsaraMQ for RocketMQ. Pesan terjadwal dan pesan retry yang masih berada di kluster sumber mungkin tidak akan dikonsumsi. Pertahankan beberapa proses konsumen yang berjalan di kluster sumber untuk mengosongkan pesan-pesan tersebut sebelum Anda menonaktifkannya.

Rencanakan batch migrasi Anda

Tool migrasi mendukung migrasi per topik dengan operasi batch, rilis canary, dan rollback, sehingga meminimalkan dampak setiap perubahan.

  1. Pilih topik dan rencanakan batch. Identifikasi topik yang akan dimigrasikan dan kelompokkan ke dalam batch. Mulailah dengan topik bisnis non-kritis.

  2. Koordinasikan dengan tim hulu dan hilir. Beri tahu semua aplikasi produsen dan konsumen yang menggunakan topik yang dipilih. Setiap aplikasi harus memperbarui titik akhirnya.

Penting

Pastikan setiap aplikasi hulu dan hilir memperbarui titik akhirnya. Aplikasi yang tidak beralih dapat menyebabkan penundaan konsumsi pesan.

Cara kerja

Migrasi mengikuti lima langkah, masing-masing dilengkapi pemeriksaan validasi internal dan dukungan rollback.

Migration process
LangkahApa yang terjadi
1. Evaluasi migrasiVerifikasi kompatibilitas versi dan fitur antara kluster sumber dan instans tujuan. Tentukan topik mana yang akan dimigrasikan dalam setiap batch.
2. Konfigurasikan jaringanBerikan detail jaringan dan node kluster sumber. Tool migrasi menggunakan informasi ini untuk membaca metadata kluster melalui koneksi dengan hak akses minimal.
3. Migrasikan metadataPilih topik dan kelompok konsumen dari kluster sumber lalu impor metadata-nya ke instans tujuan.
4. Ubah titik akhirPerbarui titik akhir di semua aplikasi produsen dan konsumen dari alamat kluster sumber ke alamat instans tujuan.
5. Alihkan trafficLakukan alih traffic bertahap per topik, memindahkan traffic baca dan tulis dari kluster sumber ke instans tujuan.

Konfigurasikan jaringan

Buat tugas migrasi dan berikan detail jaringan kluster Apache RocketMQ sumber Anda. Tool migrasi menggunakan detail ini untuk membaca metadata kluster dan mengelola alih traffic.

Apa yang diakses oleh tool migrasi

Tool migrasi hanya mengakses informasi berikut dari kluster sumber (hak akses minimal):

  • Metadata topik

  • Metadata kelompok konsumen

  • Pendaftaran routing dinamis untuk topik

  • Status koneksi konsumen dan akumulasi pesan

Tool ini tidak mengakses data kluster lainnya atau menulis konfigurasi apa pun ke kluster sumber.

Penting

Verifikasi konfigurasi jaringan sebelum melanjutkan. Setelah Anda pindah ke langkah berikutnya, Anda tidak dapat kembali mengubah pengaturan jaringan. Untuk mengubah konfigurasi jaringan, buat tugas migrasi baru.

Prosedur

  1. Login ke Konsol ApsaraMQ for RocketMQ.

  2. Di bilah navigasi atas, pilih wilayah tempat kluster sumber dan instans tujuan berada. Di panel navigasi kiri, pilih RocketMQ Copilot > Migration to Cloud.

  3. Di halaman Migration to Cloud, klik Create Task.

  4. Di panel Create Migration Task, konfigurasikan parameter yang dijelaskan dalam tabel berikut lalu klik OK.

  5. Di langkah Network Settings wizard migrasi, masukkan detail jaringan kluster Apache RocketMQ sumber lalu klik Configure Network.

  6. Tunggu hingga konfigurasi jaringan selesai, lalu klik Next.

Referensi parameter

ParameterDeskripsiContoh
Cluster TypeLingkungan jaringan kluster sumber. Internet-connected Cluster: dideploy melalui Internet. VPC-connected Cluster: dideploy di VPC Alibaba Cloud.VPC-connected Cluster
Cluster NameNama kustom untuk mengidentifikasi kluster sumber. Hanya digunakan untuk tampilan.first
VPCID VPC tempat kluster sumber dideploy. Diperlukan hanya untuk VPC-connected Cluster.vpc-bp1mhd\*\*\*\*\*\*24chrxn
vSwitchvSwitch yang memungkinkan tool migrasi mengakses jaringan kluster sumber. Pilih vSwitch di zona yang didukung oleh wilayah tugas migrasi. Lihat Wilayah dan zona. Jika tidak tersedia vSwitch, buat satu di zona yang didukung. Lihat Buat dan kelola vSwitch. Diperlukan hanya untuk VPC-connected Cluster.vsw-bp1hejs\*\*\*\*\*\*0los38rn
Security GroupGrup keamanan untuk akses jaringan. Gunakan grup keamanan yang sama dengan instans Elastic Compute Service (ECS) yang menjalankan kluster sumber. Jika menggunakan grup keamanan berbeda, pastikan aturannya mengizinkan akses ke instans tujuan. Diperlukan hanya untuk VPC-connected Cluster.sg-bp160q\*\*\*\*\*\*vtcxvwl
Name Server AddressAlamat IP semua name server di kluster sumber. Pisahkan beberapa alamat dengan koma (,) atau titik koma (;).192.168.XX.XX:9876
Access CredentialN/A: Access Control List (ACL) tidak diaktifkan. ACL: ACL diaktifkan. Berikan kredensial admin.ACL
UsernameNama akun admin. Diperlukan hanya jika ACL diaktifkan.admin
PasswordKata sandi akun admin. Diperlukan hanya jika ACL diaktifkan.\*\*\*\*\*\*
Penting

Tentukan semua alamat IP name server. Alamat yang tidak lengkap dapat mencegah topik muncul selama migrasi.

Migrasikan metadata

Pilih topik dan kelompok konsumen yang akan dimigrasikan berdasarkan rencana migrasi Anda. Tool migrasi membaca semua topik dan kelompok dari kluster sumber lalu menampilkannya untuk dipilih.

Penting

Anda tidak dapat kembali ke langkah ini setelah melanjutkan. Pastikan semua topik dan kelompok dalam batch migrasi saat ini telah diimpor sebelum mengklik Next. Topik yang terlewat harus dibuat secara manual nanti.

Prosedur

  1. Di langkah Metadata Migration, klik tab Topic Metadata.

  2. Pilih topik dari daftar, pilih Message Type yang benar dari daftar drop-down, lalu klik Confirm and Import. Untuk mengimpor beberapa topik sekaligus, pilih semuanya lalu klik Batch Import.

    Penting

    Apache RocketMQ 4.x tidak mendefinisikan tipe pesan di tingkat topik. ApsaraMQ for RocketMQ memvalidasi bahwa tipe pesan yang Anda tetapkan sesuai dengan pesan aktual di topik tersebut. Pilih tipe berdasarkan logika aplikasi Anda. Jika memilih tipe yang salah, pesan gagal dikirim atau diterima setelah migrasi. Jika Anda tidak yakin tentang tipe pesan, kirim tiket.

  3. Klik tab Group Metadata. Pilih kelompok konsumen, pilih Consumption Order yang benar dari daftar drop-down, lalu klik Confirm and Import. Untuk mengimpor beberapa kelompok sekaligus, pilih semuanya lalu klik Batch Import.

    Penting

    Pada SDK Apache RocketMQ 4.x, urutan konsumsi pesan ditentukan di sisi klien. Di ApsaraMQ for RocketMQ 5.x, broker mengontrol urutan konsumsi di tingkat kelompok. Pilih urutan berdasarkan kebutuhan aplikasi Anda. Urutan yang salah menyebabkan exception saat konsumsi. Jika Anda tidak yakin, kirim tiket.

  4. Verifikasi bahwa semua topik dan kelompok untuk batch migrasi ini telah diimpor, lalu klik Next.

Ubah titik akhir

Perbarui titik akhir di semua aplikasi produsen dan konsumen dari alamat kluster sumber ke alamat instans ApsaraMQ for RocketMQ 5.x tujuan. Selama langkah ini, tool migrasi tetap mengarahkan traffic ke kluster sumber, sehingga messaging berjalan normal terlepas dari urutan aplikasi memperbarui titik akhirnya.

Sebelum melanjutkan

  • Setelah mengubah titik akhir, restart setiap aplikasi agar terhubung ke instans tujuan.

  • Pastikan setiap aplikasi produsen dan konsumen memperbarui titik akhirnya:

    • Produsen yang tidak beralih: beberapa pesan gagal dikirim.

    • Konsumen yang tidak beralih: pesan menumpuk dan tidak dapat dikonsumsi.

Contoh perubahan titik akhir

Apache RocketMQ Remoting SDK

Sebelum (kluster sumber):

producer.setNamesrvAddr("192.168.XX.XX:9876");
consumer.setNamesrvAddr("192.168.XX.XX:9876");

SDK versi >= 4.5.1

Sesudah (instans tujuan) -- versi 4.5.1 dan lebih baru:

producer.setNamesrvAddr("rmq-cn-pe334******-vpc.cn-hangzhou.rmq.aliyuncs.com:8080");
// vipChannelEnabled default-nya false. Jika di-set true, komentari baris ini.
// producer.setVipChannelEnabled(false);

consumer.setNamesrvAddr("rmq-cn-pe334******-vpc.cn-hangzhou.rmq.aliyuncs.com:8080");
// vipChannelEnabled default-nya false. Jika di-set true, komentari baris ini.
// consumer.setVipChannelEnabled(false);

SDK versi < 4.5.1

Sesudah (instans tujuan) -- versi sebelum 4.5.1:

producer.setNamesrvAddr("rmq-cn-pe334******-vpc.cn-hangzhou.rmq.aliyuncs.com:8080");
// vipChannelEnabled default-nya true. Set ke false.
producer.setVipChannelEnabled(false);

consumer.setNamesrvAddr("rmq-cn-pe334******-vpc.cn-hangzhou.rmq.aliyuncs.com:8080");
// vipChannelEnabled default-nya true. Set ke false.
consumer.setVipChannelEnabled(false);

Apache RocketMQ gRPC SDK

Sebelum:

ClientConfiguration clientConfiguration = ClientConfiguration.newBuilder()
            .setEndpoints("192.168.XX.XX:9876")
            .setCredentialProvider(sessionCredentialsProvider)
            .build();

Sesudah:

ClientConfiguration clientConfiguration = ClientConfiguration.newBuilder()
            .setEndpoints("rmq-cn-pe334******-vpc.cn-hangzhou.rmq.aliyuncs.com:8080")
            .setCredentialProvider(sessionCredentialsProvider)
            .build();

Prosedur

Setelah semua aplikasi memperbarui titik akhir dan melakukan restart, klik Next di langkah Change Endpoint.

Alihkan traffic

Alihkan traffic baca dan tulis per topik dari kluster sumber ke instans tujuan. Alih traffic berlangsung melalui empat tahap berurutan untuk setiap topik.

Sebelum melanjutkan

  • Pada setiap tahap, verifikasi bahwa pesan dikirim dan diterima dengan benar sebelum melanjutkan. Jika terjadi masalah, rollback ke tahap sebelumnya dan lakukan troubleshooting.

  • Alihkan traffic untuk semua topik yang dimigrasikan dan pastikan operasi normal sebelum menyelesaikan tugas migrasi. Pengaturan alih traffic tidak dapat diubah setelah tugas ditandai selesai.

Tahapan alih traffic

Setiap topik melewati empat tahap berikut:

TahapTrafik bacaTrafik tulisYang perlu diverifikasi
Read and write in source cluster (awal)Kluster sumberKluster sumberStatus awal. Tidak diperlukan tindakan.
Write in source cluster, read in both clustersKluster sumber dan tujuanKluster sumberKonsumen menerima pesan dari kedua kluster. Verifikasi bahwa konsumsi berjalan dengan benar di kluster tujuan.
Write in destination cluster, read in both clustersKluster sumber dan tujuanKluster tujuanProdusen mengirim ke kluster tujuan. Verifikasi bahwa pesan dikirim dan diterima dengan benar. Tunggu hingga semua pesan yang terakumulasi di kluster sumber sepenuhnya dikonsumsi.
Read and write in destination cluster (akhir)Kluster tujuanKluster tujuanMigrasi untuk topik ini telah selesai. Seluruh trafik dialihkan melalui instans tujuan.

Topologi traffic untuk setiap tahap:

TahapTopologi
Baca dan tulis di kluster sumberRead and write in source cluster
Tulis di kluster sumber, baca di kedua klusterWrite in source, read in both
Tulis di kluster tujuan, baca di kedua klusterWrite in destination, read in both
Baca dan tulis di kluster tujuanRead and write in destination cluster

Pemeriksaan verifikasi di setiap tahap

TahapPemeriksaan yang dilakukan
Alih ke write in source, read in bothTopik ada di kedua kluster. Izin diberikan dengan benar. Klien terhubung ke kluster tujuan. Semua klien terhubung ke kluster tujuan.
Alih ke write in destination, read in bothPemeriksaan sama seperti tahap sebelumnya.
Alih ke read and write in destinationSemua pemeriksaan sebelumnya, ditambah: tidak ada pesan yang diproduksi di kluster sumber, dan tidak ada akumulasi pesan di kluster sumber.

Prosedur

  1. Di langkah Message Migration, pilih topik yang akan dimigrasikan dan periksa status verifikasinya.

    • Check Passed: Lanjutkan ke langkah berikutnya.

    • Tidak lolos: Lakukan troubleshooting berdasarkan hasil pemeriksaan, lalu klik Re-verify hingga pemeriksaan lolos.

    • Tidak lolos, tetapi dipastikan tidak menghambat: Klik Ignore Check dan lanjutkan.

  2. Di kolom Actions, klik Switch Traffic.

  3. Di dialog konfirmasi, klik OK.

  4. Ulangi langkah 1 hingga 3 untuk setiap tahap hingga Traffic Switching Stage menampilkan Read and Write in Destination Cluster.

  5. Setelah semua topik sepenuhnya dialihkan, klik Migrated di bagian bawah halaman.

Operasi tambahan

Operasi berikut tersedia di halaman Message Migration:

  • Roll Back

    • Roll back to the previous stage: Mengembalikan topik ke tahap terakhir di mana migrasi berjalan dengan benar. Lakukan troubleshooting sebelum melanjutkan lagi.

    • Roll back to the initial stage: Mengembalikan ke status routing awal. Gunakan ini hanya untuk troubleshooting darurat.

      Catatan

      Rollback ke tahap awal dapat menyebabkan pesan yang belum dikonsumsi yang diproduksi selama tahap sebelumnya tertunda atau tidak dapat diproses.

  • Create Topic: Jika topik tidak dipilih selama migrasi metadata, buat langsung di instans ApsaraMQ for RocketMQ 5.x tujuan.

  • Batch Traffic Switching / Batch Rollback: Alihkan traffic atau rollback untuk beberapa topik sekaligus. Kedua operasi hanya berlaku untuk topik yang berada pada tahap alih traffic yang sama.

Referensi

  • Untuk latar belakang perbedaan antara Apache RocketMQ open-source dan ApsaraMQ for RocketMQ, termasuk mekanisme migrasi, lihat Ikhtisar migrasi.

  • Setelah tugas migrasi selesai, Anda dapat menggunakan metrik di Dasbor ApsaraMQ for RocketMQ untuk memeriksa apakah instans berjalan sesuai harapan. Jika terjadi exception, Anda dapat melakukan rollback tugas. Untuk informasi lebih lanjut, lihat Dasbor dan Roll Back.