Untuk meningkatkan stabilitas layanan Message Queue for Apache RocketMQ, kami melakukan peningkatan akses untuk beberapa instans seri 4.x dari endpoint non-regional ke endpoint regional guna memperkuat stabilitas tautan produksi dan konsumsi pesan.
Tanggal pensiun
Endpoint non-regional akan dihentikan pada 15 Mei 2026 pukul 00.00.00 (UTC+8). Anda harus memperbarui konfigurasi endpoint untuk produsen dan konsumen sebelum tanggal tersebut agar terhindar dari gangguan layanan.
Dampak
Lingkup: Perubahan ini berdampak pada klien yang mengakses instans Message Queue for Apache RocketMQ 4.x menggunakan endpoint yang tidak mengandung ID wilayah dalam nama domain-nya, seperti
http://xxxx.mq-internal.aliyuncs.com:8080.Konsekuensi: Setelah tanggal penghentian, semua permintaan untuk memproduksi dan mengonsumsi pesan yang menggunakan endpoint non-regional akan gagal. Endpoint regional baru tidak mendukung akses lintas wilayah.
Jalur migrasi
Identifikasi client yang menggunakan endpoint non-regional
Masuk ke Message Queue for Apache RocketMQ console.
Di panel navigasi sebelah kiri, klik Query Information.
Pada bagian Information About Accesses from Non-regional Endpoints, lihat ID instans, Topik, dan alamat IP klien yang mengakses resource Anda.
Perbarui konfigurasi endpoint
Gunakan endpoint regional baru untuk mengakses instans Message Queue for Apache RocketMQ 4.x Anda. Ikuti langkah-langkah berikut untuk mendapatkan endpoint regional:
Masuk ke Message Queue for Apache RocketMQ console.
Di panel navigasi sebelah kiri, klik Instances.
Di bilah navigasi atas, pilih wilayah, misalnya China (Hangzhou), lalu klik nama instans target.
Di halaman Instances, klik tab Endpoints.
Di tab Endpoints, buka bagian TCP Endpoint dan temukan endpoint dengan Network bernilai Internal Access.
Konfigurasikan endpoint ini dalam kode produsen dan konsumen Anda.
Java ons-client SDK
Versi klien yang diperlukan: 1.8.7.4.Final atau lebih baru.
Ubah parameter dari ONSAddr menjadi NAMESRV_ADDR dan perbarui nilai endpoint-nya.
// Sebelum: properties.put(PropertyKeyConst.ONSAddr, "http://xxxx.mq-internal.aliyuncs.com:8080"); // Sesudah: properties.put(PropertyKeyConst.NAMESRV_ADDR, "http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080");
Java open source RocketMQ SDK
Versi klien yang diperlukan: 4.5.2 atau lebih baru.
Perbarui parameter tersebut.
// Untuk produsen, perbarui alamat nameserver sebelum produsen dijalankan. // Sebelum: producer.setNamesrvAddr("http://xxxx.mq-internal.aliyuncs.com:8080"); // Sesudah: producer.setNamesrvAddr("http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080"); // Untuk konsumen, perbarui alamat nameserver sebelum konsumen dijalankan. // Sebelum: consumer.setNamesrvAddr("http://xxxx.mq-internal.aliyuncs.com:8080"); // Sesudah: consumer.setNamesrvAddr("http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080");
C/C++ SDK
Versi klien yang diperlukan: 1.1.0 atau lebih baru.
Perbarui parameter endpoint. Jika Anda menggunakan ONSFactory.getInstance() untuk inisialisasi, periksa pengaturan endpoint di ONSFactoryProperty.
Jika Anda menggunakan parameter ONSAddr, ubah menjadi NAMESRV_ADDR dan perbarui nilai endpoint-nya.
// Sebelum: factoryInfo.setFactoryProperty(ONSFactoryProperty::ONSAddr, "http://XXX.mq-internal.aliyuncs.com:8080"); // Sesudah: factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.cn-hangzhou.mq-internal.aliyuncs.com:8080");Jika Anda sudah menggunakan parameter NAMESRV_ADDR, perbarui nilai endpoint-nya.
// Sebelum: factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.mq-internal.aliyuncs.com:8080"); // Sesudah: factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.cn-hangzhou.mq-internal.aliyuncs.com:8080");
.NET SDK
Versi klien yang diperlukan: 1.1.0 atau lebih baru.
Perbarui parameter endpoint. Jika Anda menggunakan ONSFactory.getInstance() untuk inisialisasi, periksa pengaturan endpoint di ONSFactoryProperty.
Jika Anda menggunakan parameter ONSAddr, ubah menjadi NAMESRV_ADDR dan perbarui nilai endpoint-nya.
// Sebelum: factoryInfo.setFactoryProperty(ONSFactoryProperty::ONSAddr, "http://XXX.mq-internal.aliyuncs.com:8080"); // Sesudah: factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.cn-hangzhou.mq-internal.aliyuncs.com:8080");Jika Anda sudah menggunakan parameter NAMESRV_ADDR, perbarui nilai endpoint-nya.
// Sebelum: factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.mq-internal.aliyuncs.com:8080"); // Sesudah: factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.cn-hangzhou.mq-internal.aliyuncs.com:8080");
Latar belakang
Untuk mengirim dan menerima pesan menggunakan SDK Message Queue for Apache RocketMQ melalui protokol TCP, Anda harus mengonfigurasi parameter yang sesuai dengan informasi resource aktual Anda. Perhatikan bahwa resource yang terkait dengan parameter berikut harus berada di wilayah yang sama:
GROUP_ID: ID kelompok yang Anda buat di Konsol Message Queue for Apache RocketMQ.
Topic: Topik yang Anda buat di Konsol Message Queue for Apache RocketMQ.
NAMESRV_ADDR: Titik akhir yang Anda peroleh dari halaman Instance Details di Konsol Message Queue for Apache RocketMQ.
Sebagai contoh, Anda memiliki instans Message Queue for Apache RocketMQ A di wilayah China (Hangzhou). Anda membuat Topik A dan Group ID A untuk klien A yang juga berada di wilayah tersebut. Anda juga memiliki instans Message Queue for Apache RocketMQ B di wilayah China (Shenzhen), tempat Anda membuat Topik B dan Group ID B untuk klien B di wilayah tersebut. Perhatikan aturan berikut:
Hanya klien A, yang termasuk dalam Group ID A di wilayah China (Hangzhou), yang dapat mengirim atau menerima pesan dari Topik A.
Hanya klien B, yang termasuk dalam Group ID B di wilayah China (Shenzhen), yang dapat mengirim atau menerima pesan dari Topik B.
Gambar berikut menunjukkan hubungan ini.