All Products
Search
Document Center

ApsaraDB for MongoDB:Pemisahan baca/tulis dan Ketersediaan tinggi untuk instans set replika

Last Updated:Jun 21, 2026

ApsaraDB for MongoDB mendukung Ketersediaan tinggi dan Pemisahan baca/tulis pada instans set replika. Untuk memanfaatkan fitur-fitur ini, Anda harus menghubungkan aplikasi ke instans dengan benar serta mengonfigurasi pengaturan yang diperlukan.

Latar Belakang

Node primary pada instans set replika tidak bersifat tetap. Jika node primary mengalami kegagalan, sistem akan memicu alih bencana primary/secondary, sehingga menurunkan status node primary asli menjadi node secondary.

Jika Anda menghubungkan ke database menggunakan titik akhir langsung dari node primary, semua operasi baca dan tulis akan dikirim ke node tersebut. Hal ini dapat menyebabkan beban tinggi pada node primary. Selain itu, jika terjadi alih bencana primary/secondary, node yang sedang Anda hubungi akan berubah menjadi node secondary, sehingga klien Anda tidak dapat lagi melakukan operasi tulis—kondisi yang berpotensi berdampak serius terhadap bisnis Anda.

Ketersediaan tinggi

ApsaraDB for MongoDB menyediakan URI string koneksi untuk menjamin Ketersediaan tinggi. URI ini mencantumkan alamat semua node dalam instans. Setelah terjadi alih bencana primary/secondary, permintaan tulis akan secara otomatis diarahkan ke node primary baru, sehingga mencegah gangguan pada operasi tulis.

Untuk informasi lebih lanjut tentang cara menghubungkan ke instans set replika, lihat Connect to a replica set instance.

Catatan
  • Untuk menjamin Ketersediaan tinggi di lingkungan produksi, hubungkan aplikasi Anda ke instans menggunakan URI string koneksi.

  • Semua driver resmi MongoDB mendukung URI string koneksi.

Memperoleh alamat Ketersediaan tinggi

  1. Buka halaman Replica Set Instances, pilih kelompok sumber daya dan wilayah, lalu klik ID instans target.

  2. Di panel navigasi sebelah kiri, klik Database Connections.

  3. Peroleh URI string koneksi Ketersediaan tinggi. Di bagian Private Connection - Virtual Private Cloud, temukan baris Connection String URI yang ditandai sebagai Recommended, lalu salin alamat tersebut. Format alamatnya adalah sebagai berikut: mongodb://root:****@dds-InstanceID.mongodb.rds.aliyuncs.com:3717,dds-InstanceID.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-ReplicaSetID.

    Saat Anda menghubungkan menggunakan URI string koneksi, klien secara otomatis mendeteksi peran node primary dan secondary. Jika terjadi alih bencana primary/secondary, klien secara otomatis mengarahkan ulang operasi tulis ke node primary baru, sehingga menjamin Ketersediaan tinggi.

Pemisahan baca/tulis

URI string koneksi menyediakan parameter readPreference dan readPreferenceTags. Parameter readPreference mengontrol Pemisahan baca/tulis dan penyeimbangan beban, sedangkan parameter readPreferenceTags memprioritaskan pengarahan permintaan baca ke node yang memiliki tag tertentu.

Anda dapat menggabungkan parameter readPreference dan readPreferenceTags untuk mendukung berbagai kasus penggunaan.

Fallback saat kegagalan baca

Target Node

Parameter

Arahkan permintaan baca ke node primary jika terjadi kegagalan

Lebih memilih node primary

&readPreference=primaryPreferred

Lebih memilih node secondary dan node read-only

&readPreference=secondaryPreferred

Lebih memilih node secondary (hanya untuk instans berbasis cloud disk)

&readPreference=secondaryPreferred&readPreferenceTags=role:electable

Lebih memilih node read-only

&readPreference=secondaryPreferred&readPreferenceTags=role:readonly

Jangan arahkan permintaan baca ke node primary jika terjadi kegagalan

Baca hanya dari node secondary dan node read-only

&readPreference=secondary

Baca hanya dari node secondary (hanya untuk instans berbasis cloud disk)

&readPreference=secondary&readPreferenceTags=role:electable

Baca hanya dari node read-only

&readPreference=secondary&readPreferenceTags=role:readonly

Pemisahan baca/tulis dengan URI string koneksi

Untuk menerapkan Pemisahan baca/tulis, tambahkan parameter readPreference dan readPreferenceTags ke URI string koneksi.

Sebagai contoh, untuk mengarahkan semua permintaan tulis ke node primary dan permintaan baca secara eksklusif ke node read-only tanpa fallback, tambahkan &readPreference=secondary&readPreferenceTags=role:readonly ke URI string koneksi. Contoh berikut menunjukkan URI lengkap:

mongodb://root:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-6108****&readPreference=secondary&readPreferenceTags=role:readonly
Catatan

Lingkungan pengujian menggunakan versi driver berikut:

  • pymongo 3.11.4

  • mongodb-driver-sync 4.6.1 

  • mongosh 2.2.15

Referensi