SDK klien TCP dapat digunakan untuk terhubung ke ApsaraMQ for RocketMQ instance. Untuk memastikan stabilitas aplikasi bisnis Anda, konfigurasikan titik akhir TCP pribadi untuk wilayah tempat ApsaraMQ for RocketMQ instance Anda berada di SDK klien TCP Anda. Topik ini menjelaskan titik akhir TCP pribadi spesifik wilayah dan cara mengonfigurasikannya dalam kode.
Tanggal rilis awal
16 Desember 2019
Pengumuman
Anda harus mengubah titik akhir yang dikonfigurasi di SDK menjadi titik akhir TCP pribadi spesifik wilayah sebelum 30 Juni 2023. Titik akhir TCP pribadi spesifik wilayah memberikan stabilitas lebih tinggi dibandingkan titik akhir asli yang Anda gunakan untuk mengakses Antrian Pesan untuk Apache RocketMQ. Setelah 30 Juni 2023, titik akhir asli tidak dapat digunakan untuk mengirim atau berlangganan pesan.
Sebelum mengonfigurasi titik akhir TCP pribadi spesifik wilayah di SDK, perhatikan hal-hal berikut:
Jika aplikasi Anda tidak menggunakan ApsaraMQ for RocketMQ instance lintas wilayah, Anda tidak perlu memodifikasi konfigurasi produsen dan konsumen.
Jika aplikasi Anda menggunakan ApsaraMQ for RocketMQ instance lintas wilayah, Anda harus menentukan waktu pergantian yang tepat berdasarkan kebutuhan bisnis Anda. Anda dapat menggunakan titik akhir HTTP untuk mengakses ApsaraMQ for RocketMQ instance lintas wilayah. Untuk informasi tentang SDK klien HTTP, lihat Catatan Penggunaan.
Anda dapat mengonfigurasi titik akhir TCP pribadi spesifik wilayah di SDK sumber terbuka atau SDK Alibaba Cloud.
Tentukan apakah pergantian diperlukan
Periksa apakah titik akhir TCP pribadi dari ApsaraMQ for RocketMQ instance Anda mencakup ID wilayah. Titik akhir tersebut harus dalam format http://xxxx.<region_id>.mq-internal.aliyuncs.com:<port>.
Jika titik akhir mencakup ID wilayah, Anda tidak perlu memodifikasi konfigurasi titik akhir. Sebagai contoh, http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080 adalah titik akhir yang mencakup ID wilayah.
Jika titik akhir tidak mencakup ID wilayah, Anda harus mengonfigurasi ulang informasi titik akhir yang digunakan di SDK Anda dengan mengikuti petunjuk yang disediakan di bagian Prosedur topik ini. Sebagai contoh, http://xxxx.mq-internal.aliyuncs.com:8080 adalah titik akhir yang tidak mencakup ID wilayah.
Informasi latar belakang
Jika Anda ingin menggunakan SDK klien TCP untuk mengirim dan berlangganan pesan di ApsaraMQ for RocketMQ, konfigurasikan parameter sumber daya berdasarkan informasi tentang sumber daya yang ingin Anda gunakan. Pastikan bahwa sumber daya yang ditentukan untuk parameter GROUP_ID, Topic, dan NAMESRV_ADDR ditempatkan di wilayah yang sama.
GROUP_ID: ID grup yang Anda buat di konsol ApsaraMQ for RocketMQ.
Topic: topik yang Anda buat di konsol ApsaraMQ for RocketMQ.
NAMESRV_ADDR: titik akhir yang Anda peroleh dari halaman Instance Details di konsol ApsaraMQ for RocketMQ.
Sebagai contoh, ApsaraMQ for RocketMQ Instance A ditempatkan di wilayah China (Hangzhou), dan Topic A dan Group A dibuat di Instance A untuk Client A yang ditempatkan di wilayah China (Hangzhou). ApsaraMQ for RocketMQ Instance B ditempatkan di wilayah lain, seperti China (Shenzhen), dan Topic B dan Group B dibuat di Instance B untuk Client B yang ditempatkan di wilayah China (Shenzhen). Perhatikan hal-hal berikut:
Untuk mengirim pesan ke atau berlangganan pesan dari Topic A, gunakan Client A yang termasuk dalam Group A di wilayah China (Hangzhou).
Untuk mengirim pesan ke atau berlangganan pesan dari Topic B, gunakan Client B yang termasuk dalam Group B di wilayah China (Shenzhen).
Gambar berikut menunjukkan titik akhir yang sesuai dengan wilayah. 
Prosedur
Masuk ke Konsol ApsaraMQ for RocketMQ.
Di panel navigasi sisi kiri, klik Instances.
Di bilah navigasi atas, pilih wilayah seperti China (Hangzhou). Kemudian, klik nama instance yang ingin Anda lihat titik akhir TCP pribadinya.
Di halaman Instances, klik tab Endpoints.
Di bagian TCP Endpoint dari tab Endpoints, lihat titik akhir TCP pribadi di baris tempat nilai di kolom Network adalah Internal Access.

Ubah pengaturan titik akhir dalam kode produsen dan konsumen.
Versi berikut dari SDK Alibaba Cloud mendukung titik akhir TCP pribadi spesifik wilayah:
SDK untuk Java: Catatan Rilis atau yang lebih baru
SDK untuk C atau C++: Catatan Rilis atau yang lebih baru
SDK untuk .NET: Catatan Rilis atau yang lebih baru
Kode sampel berikut memberikan contoh tentang cara mengubah pengaturan titik akhir saat menggunakan SDK untuk Java:
// Pastikan versi klien Anda mendukung perubahan titik akhir. properties.put(PropertyKeyConst.ONSAddr, "http://xxxx.mq-internal.aliyuncs.com:8080"); // Ganti pengaturan sebelumnya dengan pengaturan berikut. properties.put(PropertyKeyConst.NAMESRV_ADDR, "http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080");Kode sampel berikut memberikan contoh tentang cara mengubah pengaturan titik akhir saat menggunakan SDK untuk Java yang disediakan oleh open source Apache RocketMQ:
// Panggil metode setNamesrvAddr untuk menentukan titik akhir yang Anda peroleh dari konsol Message Queue for Apache RocketMQ. producer.setNamesrvAddr("http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080");