Dibandingkan dengan Apache RocketMQ open source, ApsaraMQ for RocketMQ dari Alibaba Cloud lebih stabil, aman, dan menyediakan sistem O&M yang komprehensif. Anda dapat memigrasikan kluster Apache RocketMQ ke instance ApsaraMQ for RocketMQ untuk meningkatkan pengalaman layanan. Topik ini menjelaskan solusi migrasi yang disediakan oleh ApsaraMQ for RocketMQ serta mekanisme kerja solusi tersebut.
Perbandingan antara Apache RocketMQ dan ApsaraMQ for RocketMQ
Dibandingkan dengan Apache RocketMQ, ApsaraMQ for RocketMQ unggul dalam hal arsitektur teknis, skalabilitas, O&M, dan kemampuan tingkat perusahaan. Tabel berikut menunjukkan perbandingan antara Apache RocketMQ dan ApsaraMQ for RocketMQ.
Item | Kluster Apache RocketMQ yang Dikelola Sendiri | ApsaraMQ for RocketMQ instance 5.x |
Storage scalability | Tidak ada kumpulan sumber daya yang disediakan. Arsitektur penyimpanan-komputasi terkopel digunakan. | Kumpulan sumber daya berskala besar disediakan berdasarkan infrastruktur cloud Alibaba Cloud. Penyimpanan dipisahkan dari komputasi. |
API and SDK access | SDK Apache RocketMQ didukung. |
|
Technical architecture |
|
|
Computing scalability |
|
|
O&M complexity |
|
|
Stability guarantee | O&M dilakukan oleh pengguna dan memerlukan bantuan dari personel dukungan teknis senior. | Service Level Agreements (SLA) di mana kemampuan layanan dijamin disediakan.
|
Enterprise-level capabilities | Kemampuan tingkat perusahaan dikembangkan oleh pengguna dan memerlukan bantuan dari personel dukungan teknis senior. | Layanan dapat digunakan langsung dan menyediakan kemampuan seperti rilis canary ujung ke ujung, pengarahan pesan, replikasi pesan, ekstraksi, transformasi, pemuatan (ETL), integrasi acara, dan analisis acara. |
Systematic disaster recovery | O&M dilakukan oleh pengguna dan memerlukan bantuan dari personel dukungan teknis senior. | Solusi pemulihan bencana berikut disediakan:
|
Mekanisme kerja
Persyaratan dasar
Apache RocketMQ sering digunakan dalam sistem inti seperti pesanan dan pembayaran online. Aplikasi hulu dan hilir layanan pesan memiliki persyaratan tinggi terhadap stabilitas layanan. Kami menyarankan Anda mengambil tindakan pencegahan saat memigrasi dan mengganti kluster Apache RocketMQ. Berikut adalah persyaratan dasar untuk merancang solusi migrasi:
Layanan pesan tanpa gangguan
Pastikan aplikasi pesan lapisan atas tidak terpengaruh, dan tidak ada sejumlah besar kesalahan dan kegagalan yang dilaporkan selama migrasi.
Tidak ada sejumlah besar pesan duplikat
Pastikan tidak ada sejumlah besar pesan duplikat selama migrasi sehingga pengguna tidak perlu memproses pesan duplikat dalam sistem.
Tidak ada latensi pesan yang signifikan
Pastikan tidak ada perubahan signifikan dalam latensi pesan ujung ke ujung selama migrasi sehingga Anda tetap dapat menerima pesan bahkan selama migrasi.
Desain solusi
Untuk memenuhi persyaratan migrasi sebelumnya, ApsaraMQ for RocketMQ menyediakan alat migrasi yang memungkinkan Anda memigrasikan kluster Apache RocketMQ yang dikelola sendiri ke instance ApsaraMQ for RocketMQ secara efisien tanpa memengaruhi bisnis Anda. Anda dapat menggunakan alat ini untuk memigrasikan pesan dan metadata seperti topik, grup, dan kemajuan konsumsi.
Migrasi metadata: Alat migrasi membaca metadata dalam kluster Apache RocketMQ yang dikelola sendiri dan menyalin metadata ke instance ApsaraMQ for RocketMQ. Dengan cara ini, metadata dibuat dan disinkronkan.
Migrasi pesan: Alat migrasi dapat mengontrol informasi perutean tentang topik di backend untuk secara dinamis beralih antara lalu lintas baca dan tulis klien menggunakan komponen kontrol perutean bawaan dari ApsaraMQ for RocketMQ. Saklar lalu lintas tidak memengaruhi bisnis Anda.

Anggaplah bahwa Topic A dalam kluster sumber pada gambar sebelumnya memiliki delapan partisi baca dan delapan partisi tulis.
Setelah Anda membuat tugas migrasi metadata, sebuah topik bernama Topic A juga dibuat dalam instance tujuan. Topic A dalam instance tujuan memiliki jumlah partisi baca dan tulis yang sama dengan Topic A dalam kluster sumber.
Selama migrasi pesan, komponen kontrol perutean dari ApsaraMQ for RocketMQ dapat mengontrol informasi perutean tentang kluster sumber dan instance tujuan serta mengembalikan informasi baca dan tulis tentang partisi ke klien berdasarkan tahap migrasi. Contoh:
Operasi baca dalam kluster sumber dan instance tujuan: Informasi tentang 16 partisi baca dalam kluster sumber dan instance tujuan dikembalikan.
Operasi tulis saja dalam kluster tujuan: Informasi tentang delapan partisi tulis dalam kluster tujuan dikembalikan.
Manfaat
Solusi migrasi yang disediakan oleh ApsaraMQ for RocketMQ diimplementasikan berdasarkan komponen proxy metadata untuk perutean pesan. Komponen ini dikembangkan oleh Alibaba Cloud dan mendukung perutean pesan spesifik topik, penjadwalan pesan, dan manajemen saklar lalu lintas. Solusi migrasi ini memberikan manfaat berikut:
Layanan pesan tanpa gangguan
Solusi migrasi mendukung saklar lalu lintas tanpa memengaruhi bisnis Anda. Selama saklar lalu lintas, pesan dapat dikirim dan diterima. Dalam kasus langka, latensi dan duplikasi pesan terjadi.
Tidak diperlukan sumber daya tambahan
Anda tidak perlu menambah kapasitas kluster atau menerapkan beberapa kluster. Anda hanya perlu mengonfigurasi parameter untuk melakukan pembaruan atau perubahan.
Dampak sangat rendah terhadap bisnis dan implementasi mudah
Anda hanya perlu secara manual mengubah titik akhir aplikasi dan memulai ulang aplikasi sekali. Saklar lalu lintas berikutnya mulai berlaku berdasarkan konfigurasi dinamis pada broker ApsaraMQ for RocketMQ. Anda dapat meningkatkan aplikasi hulu dan hilir dari layanan pesan tanpa menyortir dependensi pesan. Operasi ini memiliki dampak sangat rendah terhadap bisnis Anda, sehingga aplikasi hulu dan hilir dapat dengan mudah menghadapi migrasi.
Dukungan untuk rilis canary dan rollback
Tugas migrasi akurat hingga tingkat topik. Anda dapat melakukan rilis canary spesifik topik. Jika risiko bisnis muncul selama migrasi, Anda dapat melakukan rollback.