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.
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
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.
Di panel navigasi sisi kiri halaman detail instance, klik Database Connections.
Lihat URI string koneksi instance.

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 |
|
Secara preferensial membaca data dari node sekunder dan hanya-baca |
| |
Secara preferensial membaca data dari node sekunder (hanya untuk instance berbasis disk cloud) |
| |
Secara preferensial membaca data dari node hanya-baca |
| |
Jangan kirim permintaan baca yang gagal ke node utama | Baca data hanya dari node sekunder dan hanya-baca |
|
Baca data hanya dari node sekunder (hanya untuk instance berbasis disk cloud) |
| |
Baca data hanya dari node hanya-baca |
|
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:readonlyDaftar berikut menjelaskan versi driver yang digunakan dalam lingkungan pengujian:
pymongo 3.11.4
mongodb-driver-sync 4.6.1
mongosh 2.2.15