All Products
Search
Document Center

ApsaraMQ for RocketMQ:Catatan penggunaan

Last Updated:Nov 10, 2025

Topik ini menjelaskan cara menggunakan Global Replicator, parameter-parameternya, serta menyediakan daftar pertanyaan yang sering diajukan (FAQ). Informasi ini dapat membantu Anda memulai penggunaan fitur tersebut.

Prasyarat

Anda harus membuat instans ApsaraMQ for RocketMQ yang memenuhi salah satu persyaratan versi berikut:

  • ApsaraMQ for RocketMQ instans seri V4.0.

    Catatan

    Edisi Standar instans seri V4.0 hanya mendukung sinkronisasi satu arah.

  • ApsaraMQ for RocketMQ instans seri V5.0.

Topik ini menggunakan instans seri ApsaraMQ for RocketMQ 5.0 sebagai instans sumber dan tujuan.

Rekomendasi spesifikasi komputasi

Saat menggunakan Global Replicator, sinkronisasi pesan dimulai setelah Anda mengonfigurasi pemetaan topik. Proses ini menambah beban transaksi per detik (TPS) pada instans. Pertimbangkan TPS puncak pengiriman pesan dari kedua instans ApsaraMQ for RocketMQ, baik sumber maupun tujuan.

Spesifikasi yang direkomendasikan:

Sebagai contoh, asumsikan bahwa sebelum sinkronisasi, sebuah instans ApsaraMQ for RocketMQ memiliki TPS pengiriman pesan puncak sebesar 10.000 dan TPS penerimaan pesan puncak sebesar 10.000.

Tabel berikut menjelaskan konfigurasi TPS yang direkomendasikan untuk instans sumber dan tujuan.

Jenis tugas

Instans sumber

Instans tujuan

TPS pesan puncak

TPS pengiriman pesan puncak

TPS penerimaan pesan puncak

Peak Message TPS

TPS pengiriman pesan puncak

TPS penerimaan pesan puncak

Sinkronisasi satu arah

30.000

10.000

20.000

20.000

10.000

10.000

Sinkronisasi dua arah

40.000

20.000

20.000

40.000

20.000

20.000

Catatan
  • Anda dapat melihat TPS pesan puncak suatu instans di halaman Instance Details. Untuk informasi lebih lanjut mengenai TPS pesan puncak berbagai tipe instans, lihat Spesifikasi instans.

  • Anda dapat menyesuaikan TPS penerimaan pesan puncak instans tujuan berdasarkan kecepatan pemrosesan yang dibutuhkan.

Buat tugas Global Replicator

Catatan

Pertama kali Anda menggunakan Global Replicator, kotak dialog Alibaba Cloud Service Authorization - RocketMQ Global Replicator akan muncul. Klik OK. Sistem kemudian secara otomatis membuat peran terkait layanan AliyunServiceRoleForRMQDisasterRecovery. ApsaraMQ for RocketMQ dapat mengasumsikan peran ini untuk mengaktifkan fitur Global Replicator. Untuk informasi selengkapnya, lihat Peran Terkait Layanan.

Langkah 1: Buat tugas

  1. Masuk ke Konsol ApsaraMQ for RocketMQ.
  2. Pada panel navigasi di sebelah kiri, klik Global Replicator, lalu klik Create Task.

  3. Pada halaman Create Task, konfigurasikan parameter-parameter. Tabel berikut menjelaskan parameter utama. Anda dapat mengonfigurasi parameter lain sesuai kebutuhan. Lalu, klik Create.

    image

    Tabel berikut menjelaskan parameter untuk berbagai tipe kluster.

    ApsaraMQ for RocketMQ

    Item konfigurasi

    Deskripsi

    Contoh

    Versi

    Pilih versi instans ApsaraMQ for RocketMQ.

    • Instans seri 4.0

    • Instans seri 5.0

    Instans seri 5.0

    Region

    Pilih wilayah instans ApsaraMQ for RocketMQ.

    Tiongkok (Hangzhou)

    Instance

    Pilih instans ApsaraMQ for RocketMQ.

    rmq-cn-778***

    Authentication Mode

    • Tidak Perlu Konfigurasi

    • Otentikasi berbasis ACL

    Otentikasi berbasis ACL

    Username

    Pilih nama pengguna.

    yS8x01****

    Security Group ID

    Grup keamanan dalam layanan ECS tempat instans ApsaraMQ for RocketMQ berada. Parameter ini hanya diperlukan jika Anda mengatur Version ke instans seri 5.0.

    • Masuk: Tidak ada persyaratan.

    • Keluar:

      • Kebijakan Otorisasi: Izinkan

      • Protokol: TCP Kustom

      • Tujuan: Blok CIDR harus mencakup semua blok CIDR vSwitch kluster. Port harus mencakup 8080 dan 8081.

    sg-2ze4jlbqy2s40pc4****

    System Configurations Of Filter Conditions

    (Opsional) Tambahkan atribut kustom (UserProperty) ke pesan. Konsumen kemudian dapat menggunakan kebijakan langganan SQL92 untuk memfilter pesan.

    • Key: Kunci dari UserProperty.

    • Source Cluster Value: Nilai UserProperty yang ditambahkan ke pesan dari kluster sumber.

    • Destination Cluster Value: Nilai UserProperty yang ditambahkan ke pesan dari kluster tujuan.

    Kode contoh berikut menunjukkan cara memfilter langganan berdasarkan sintaks SQL92:

    String sqlStr = "{Key} IS NOT NULL AND {Key} = {Source/Destination Cluster Value}";
    consumer.subscribe(MqConfig.TOPIC, 
        MessageSelector.bySql(sqlStr));

    Tidak Ada

    Apache RocketMQ

    Item konfigurasi

    Deskripsi

    Contoh

    Endpoint

    Format titik akhir adalah {Nama Domain/IP}:{Port}.

    XX.XX.XX.XX:8080

    Authentication Mode

    • Tidak Perlu Konfigurasi

    • Otentikasi berbasis ACL

    Otentikasi berbasis ACL

    Username

    Masukkan informasi yang diperlukan.

    yS8x01****

    Password

    Masukkan informasi sesuai kebutuhan.

    F17R4to****

    Network Settings

    • Internet

    • VPC

    Internet

    Region

    Konfigurasikan parameter ini jika Anda mengatur Network Settings ke VPC. Pilih wilayah layanan ECS tempat kluster Apache RocketMQ berada.

    Tiongkok (Hangzhou)

    VPC Network

    Konfigurasikan parameter ini jika Anda mengatur Network Settings ke VPC. VPC dalam layanan ECS tempat kluster Apache RocketMQ berada.

    vpc-bp17fapfdj0dwzjkd****

    VSwitch

    Konfigurasikan parameter ini jika Anda mengatur Network Settings ke VPC. vSwitch dalam layanan ECS tempat kluster Apache RocketMQ berada.

    vsw-bp1gbjhj53hdjdkg****

    Security Group ID

    Konfigurasikan parameter ini jika Anda mengatur Network Settings ke VPC. Grup keamanan dalam layanan ECS tempat kluster Apache RocketMQ berada.

    • Masuk: Tidak ada persyaratan.

    • Keluar:

      • Kebijakan Otorisasi: Izinkan

      • Protokol: TCP Kustom

      • Tujuan: Blok CIDR harus mencakup semua blok CIDR semua node Apache RocketMQ. Port harus mencakup semua port layanan node Apache RocketMQ. Port default adalah 9876, 10911, dan 10909. Jika Anda mengubah port nameserver atau broker, tentukan port yang telah dimodifikasi tersebut.

    sg-2ze4jlbqy2s40pc4****

    System Configurations Of Filter Conditions

    (Opsional) Tambahkan atribut kustom (UserProperty) ke pesan. Konsumen kemudian dapat menggunakan kebijakan langganan SQL92 untuk memfilter pesan.

    • Kunci: Kunci UserProperty.

    • Nilai Kluster Sumber: Nilai UserProperty yang ditambahkan ke pesan dari kluster sumber.

    • Nilai Kluster Tujuan: Nilai UserProperty yang ditambahkan ke pesan dari kluster tujuan.

    Kode contoh berikut menunjukkan cara memfilter langganan berdasarkan sintaks SQL92:

    String sqlStr = "{Key} IS NOT NULL AND {Key} = {Source/Destination Cluster Value}";
    consumer.subscribe(MqConfig.TOPIC, 
        MessageSelector.bySql(sqlStr));

    Tidak Ada

Langkah 2: Konfigurasi pemetaan topik

  1. Pada halaman Task Basic Information, klik Message Sync Task pada panel navigasi di sebelah kiri.

  2. Klik Batch Mapping atau Add Mapping. Pada kotak dialog yang muncul, konfigurasikan pemetaan topik untuk sinkronisasi.

    • Pemetaan Batch: Konfigurasikan dan pilih pemetaan topik yang diperlukan, lalu klik OK.

    • Tambahkan Pemetaan: Konfigurasikan pemetaan topik yang diperlukan, lalu klik OK.

    Catatan
    • Jika kluster sumber adalah kluster Apache RocketMQ, Anda harus menentukan grup untuk sinkronisasi pesan. Jangan gunakan grup yang sudah dalam layanan.

    • Pesan hanya disinkronkan setelah Anda mengonfigurasi pemetaan topik.

Langkah 3: (Opsional) Aktifkan sinkronisasi progres konsumen

Anda dapat mengaktifkan sinkronisasi progres konsumen untuk menyinkronkan progres konsumen saat ini dari suatu grup untuk topik ke kluster tujuan. Untuk informasi selengkapnya, lihat Sinkronisasi progres konsumen.

Deskripsi klien konsumen

Dalam contoh ini, tugas sinkronisasi dua arah dibuat. Kluster sumber adalah instans ApsaraMQ for RocketMQ di Shanghai, dan kluster tujuan adalah instans ApsaraMQ for RocketMQ di Hangzhou. Untuk kondisi filter, Kunci diatur ke Region, Nilai Kluster Sumber diatur ke Shanghai, dan Nilai Kluster Tujuan diatur ke Hangzhou.

Secara normal, klien konsumen di Shanghai hanya mengonsumsi data dari wilayah Shanghai, bukan dari wilayah Hangzhou. Oleh karena itu, menentukan satu atribut kustom saja sudah cukup untuk mencocokkan pesan. Untuk informasi selengkapnya, lihat Pola peristiwa.

  • Berlangganan pesan dan mencocokkan pesan berdasarkan satu atribut kustom.

String topic = "topic";
// Berlangganan pesan hanya di wilayah lokal.
FilterExpression filterExpression = new FilterExpression("Region IS NOT NULL", FilterExpressionType.SQL92);
// Karena aplikasi produsen lokal tidak mengatur kunci UserProperty ke Region saat mengirim pesan, atribut kustom untuk kunci Region bernilai NULL.
simpleConsumer.subscribe(topic, filterExpression);
  • Berlangganan pesan, mencocokkan semua pesan dalam topik, dan tidak memfilter pesan.

String topic = "topic";
// Berlangganan semua pesan.
FilterExpression filterExpression = new FilterExpression("True", FilterExpressionType.SQL92);
simpleConsumer.subscribe(topic, filterExpression);

FAQ

Apakah data dapat disinkronkan di tiga instans?

Ya, bisa. Satu tugas Global Replicator menyinkronkan data antara dua instans. Untuk menyinkronkan data di tiga instans, Anda harus mengonfigurasi tiga tugas terpisah. Hal ini memastikan bahwa setiap instans berisi kumpulan data lengkap.

Untuk instans yang dikonfigurasi untuk sinkronisasi dua arah, apakah saya masih dapat menggunakan pemfilteran berbasis tag?

Tidak, Anda tidak bisa. Anda hanya dapat menggunakan satu metode pemfilteran: berbasis tag atau berbasis SQL. Karena aplikasi konsumen dalam skenario ini memerlukan pemfilteran berbasis SQL, Anda harus menggunakan pemfilteran berbasis SQL untuk semua instans, bahkan untuk instans yang biasanya menggunakan tag. Untuk informasi selengkapnya, lihat Pemfilteran pesan.

Apakah tugas sinkronisasi satu arah yang sudah ada dapat diubah menjadi tugas sinkronisasi dua arah?

Ya, Anda dapat mengubah tugas tersebut jika kedua kluster sumber dan tujuan adalah instans ApsaraMQ for RocketMQ. Hal ini tidak memengaruhi tugas satu arah yang sedang berjalan. Jika salah satu kluster adalah kluster Apache RocketMQ open source, Anda tidak dapat mengubah tugas sinkronisasi satu arah menjadi tugas sinkronisasi dua arah. Anda harus menghapus tugas tersebut dan membuat yang baru.

Bagaimana penagihan Global Replicator?

Saluran sinkronisasi Global Replicator bergantung pada EventBridge. Untuk informasi selengkapnya mengenai penagihan EventBridge, lihat Penagihan. Global Replicator mengonsumsi kinerja baca instans sumber ApsaraMQ for RocketMQ dan kinerja tulis instans tujuan. Oleh karena itu, Anda harus mengevaluasi spesifikasi komputasi instans ApsaraMQ for RocketMQ Anda.

Setelah saya mengonfigurasi otentikasi berbasis ACL untuk Global Replicator, mengapa pesan yang disinkronkan tidak diterima?

Masalah ini terjadi karena izin yang diperlukan belum diberikan. Setelah Anda mengonfigurasi tugas sinkronisasi, sistem menghasilkan grup sistem untuk setiap topik guna menyinkronkan data pesan. Grup ini tidak dapat dihapus dan hanya dihapus ketika tugas terkait dihapus. Jika Anda mengaktifkan Access Control List (ACL)-based authentication, Anda harus memberikan izin pengguna ACL untuk membaca dan menulis ke topik, serta izin untuk membaca dari grup sistem. Untuk memberikan izin tersebut, buka halaman Resource Access Management > ACL Permissions di konsol instans, pilih pengguna, dan atur Resource Name ke karakter wildcard (*) untuk memberikan izin penuh kepada akun. Metode ini dapat mengurangi beban konfigurasi.

Jika tugas Global Replicator dijeda lalu dilanjutkan, apakah sinkronisasi pesan dapat berlanjut?

Ya, bisa. Saat tugas dilanjutkan setelah dijeda, tugas Global Replicator melanjutkan sinkronisasi data mulai dari pesan setelah offset terakhir yang telah diakui. Pastikan periode retensi pesan instans ApsaraMQ for RocketMQ tidak terlampaui.