全部产品
Search
文档中心

ApsaraDB for MongoDB:Terhubung ke instance set replika dan menerapkan pemisahan baca/tulis serta ketersediaan tinggi

更新时间:Jul 02, 2025

ApsaraDB for MongoDB instance set replika menyediakan ketersediaan tinggi dan mendukung pemisahan baca/tulis. Untuk menerapkan fitur ini, Anda harus menggunakan metode yang tepat untuk terhubung ke instance set replika dan melakukan konfigurasi yang diperlukan.

Informasi latar belakang

Node utama dalam instance set replika tidak tetap pada satu node tertentu. Jika node utama mengalami kegagalan, sistem akan memicu pergantian utama/sekunder, sehingga node utama sebelumnya menjadi node sekunder.

Jika Anda menggunakan titik akhir node utama untuk terhubung ke instance, semua operasi baca/tulis akan diproses pada node tersebut, yang dapat menyebabkan beban tinggi. Selain itu, setelah pergantian utama/sekunder, node utama sebelumnya menjadi node sekunder. Dalam situasi ini, klien yang menggunakan titik akhir node utama asli tidak dapat melakukan operasi penulisan, yang berpotensi memengaruhi bisnis Anda secara signifikan.

Ketersediaan tinggi

ApsaraDB for MongoDB menyediakan URL string koneksi untuk instance set replika. URI ini memungkinkan Anda terhubung ke semua node dalam instance. Setelah pergantian utama/sekunder, permintaan penulisan diarahkan ke node utama baru, memastikan kelangsungan operasi penulisan.

Untuk informasi lebih lanjut tentang titik akhir instance set replika, lihat Terhubung ke instance set replika.

Catatan
  • Untuk memastikan ketersediaan tinggi, kami sarankan Anda menggunakan URI string koneksi untuk menghubungkan aplikasi Anda dalam lingkungan produksi ke instance.

  • Semua driver resmi MongoDB mendukung penggunaan URI string koneksi untuk koneksi instance. Untuk informasi lebih lanjut tentang driver MongoDB, lihat Mulai Mengembangkan dengan MongoDB.

Lihat URI string koneksi instance set replika

  1. Buka halaman Instance Set Replika. Di bilah navigasi atas, pilih wilayah tempat instance berada. Kemudian, temukan instance yang ingin Anda kelola dan klik ID instance tersebut.

  2. Di panel navigasi sisi kiri halaman detail instance, klik Database Connections.

  3. Lihat URI string koneksi instance.Alamat Ketersediaan Tinggi

    Setelah menggunakan URI string koneksi untuk terhubung ke instance, klien Anda secara otomatis mendeteksi hubungan antara node utama dan sekunder. Jika node utama berubah, klien secara otomatis memindahkan operasi penulisan ke node utama baru untuk memastikan ketersediaan tinggi ApsaraDB for MongoDB.

Pemisahan baca/tulis

URI string koneksi mencakup parameter readPreference dan readPreferenceTags. Parameter readPreference digunakan untuk menerapkan pemisahan baca/tulis dan penyeimbangan beban, sedangkan parameter readPreferenceTags menentukan bahwa sistem secara preferensial mengirimkan permintaan baca ke node dengan tag tertentu.

Kombinasi berbeda dari parameter readPreference dan readPreferenceTags dapat memenuhi persyaratan berbagai skenario. Tabel berikut menjelaskan kombinasi parameter dalam skenario berbeda.

Metode untuk Memproses Permintaan Baca yang Gagal

Node untuk Menerima Permintaan Baca

Solusi Kombinasi Parameter

Kirim permintaan baca yang gagal ke node utama

Secara preferensial membaca data dari node utama

&readPreference=primaryPreferred

Secara preferensial membaca data dari node sekunder dan hanya-baca

&readPreference=secondaryPreferred

Secara preferensial membaca data dari node sekunder (hanya untuk instance berbasis disk cloud)

&readPreference=secondaryPreferred&readPreferenceTags=role:electable

Secara preferensial membaca data dari node hanya-baca

&readPreference=secondaryPreferred&readPreferenceTags=role:readonly

Jangan kirim permintaan baca yang gagal ke node utama

Baca data hanya dari node sekunder dan hanya-baca

&readPreference=secondary

Baca data hanya dari node sekunder (hanya untuk instance berbasis disk cloud)

&readPreference=secondary&readPreferenceTags=role:electable

Baca data hanya dari node hanya-baca

&readPreference=secondary&readPreferenceTags=role:readonly

Cara menggunakan URI string koneksi instance untuk menerapkan pemisahan baca/tulis

Jika Anda ingin menerapkan pemisahan baca/tulis sesuai dengan skenario tertentu, tambahkan parameter readPreference dan readPreferenceTags setelah URI string koneksi instance.

Sebagai contoh, jika Anda ingin semua permintaan tulis dikirim ke node utama dalam instance dan permintaan baca dikirim hanya ke node hanya-baca dalam instance, serta tidak ingin permintaan yang gagal dikirim ke node utama, tambahkan &readPreference=secondary&readPreferenceTags=role:readonly setelah URI string koneksi instance. Contoh:

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

Daftar berikut menjelaskan versi driver yang digunakan dalam lingkungan pengujian:

  • pymongo 3.11.4

  • mongodb-driver-sync 4.6.1 

  • mongosh 2.2.15

Referensi