Instans set replika ApsaraDB for MongoDB menyediakan titik akhir terpisah untuk node primary, secondary, dan read-only, serta URI string koneksi berdaya tinggi seperti ConnectionStringURI, ConnectionStringURI SRV, dan ReadOnly ConnectionStringURI untuk koneksi aplikasi. Topik ini menjelaskan cara memperoleh titik akhir tersebut dan memberikan petunjuk koneksi.
Detail titik akhir
Pilih titik akhir
Dalam lingkungan produksi, hubungkan ke instans Anda menggunakan alamat ConnectionStringURI atau ConnectionStringURI SRV untuk memastikan load balancing dan ketersediaan tinggi. Jika instans Anda memiliki node read-only, aplikasi yang hanya melakukan operasi baca sebaiknya terhubung melalui ReadOnly ConnectionStringURI. Menghubungkan ke instans melalui titik akhir node tunggal tidak disarankan karena failover primary/secondary dapat mengubah peran suatu node. Tabel berikut menjelaskan perbedaan antar jenis titik akhir.
Jenis titik akhir
Jenis alamat | Deskripsi |
Alamat ConnectionStringURI SRV (Direkomendasikan) | Dalam MongoDB, SRV adalah tipe rekaman DNS yang menyederhanakan string koneksi dan mendukung penemuan otomatis anggota dalam kluster set replika. Saat Anda menambahkan atau menghapus node dari instans set replika, Anda dapat menggunakan alamat SRV untuk berinteraksi dengan instans tanpa menyadari perubahan tersebut. Hal ini menyederhanakan desain dan maintenance aplikasi. Penting
|
Alamat ConnectionStringURI | Alamat ConnectionStringURI menyediakan load balancing dan ketersediaan tinggi. Alamat ini berisi alamat semua node dalam instans. Anda dapat terhubung ke alamat ini untuk melakukan operasi baca dan tulis pada database. Penting
|
Alamat ReadOnly ConnectionStringURI | Alamat ReadOnly ConnectionStringURI hanya berisi alamat semua node read-only dalam instans. Saat Anda terhubung ke alamat ini, permintaan baca dikirim ke node read-only, dan permintaan tulis dikirim ke node primary. Catatan
|
Alamat Primary | Titik akhir node primary. Anda dapat terhubung ke alamat ini untuk melakukan operasi baca dan tulis pada database. Penting Jangan menghubungkan aplikasi dalam lingkungan produksi ke instans menggunakan alamat ini. Saat alih bencana primary/secondary dipicu untuk instans, alamat node primary berubah. Anda harus terhubung ke node primary baru untuk memastikan operasi baca dan tulis tidak terganggu. |
Alamat Secondary | Titik akhir node secondary. Anda dapat terhubung ke alamat ini untuk hanya melakukan operasi baca pada database. Penting Jangan menghubungkan aplikasi dalam lingkungan produksi ke instans menggunakan alamat ini. Saat alih bencana primary/secondary dipicu untuk instans, node secondary dapat dipromosikan menjadi node primary. Alamat node primary mendukung operasi tulis, yang dapat menyebabkan masalah keamanan data dan izin. |
Alamat ReadOnly | Titik akhir node read-only. Anda dapat terhubung ke alamat ini untuk hanya melakukan operasi baca pada database. Catatan Alamat ini hanya ditampilkan saat instans memiliki node read-only. |
Format alamat koneksi
Alamat ConnectionStringURI SRV
Format:
mongodb+srv://<username>:<password>@<srv-host>/<database>?[authSource=<authenticationDatabase>][&readPreference=<readPreference_value>][&readPreferenceTags=<readonly_Tags>]<other_options>Deskripsi parameter:
Parameter | Deskripsi |
| Awalan string koneksi. Menunjukkan bahwa rekaman DNS SRV digunakan untuk penemuan layanan. |
| Nama akun database. |
| Kata sandi akun database. |
| Hostname. |
| Nama database yang akan diakses. Nilai default adalah admin. |
| Parameter ini menentukan database tempat akun database berada. Catatan Rekaman TXT dari string koneksi SRV untuk ApsaraDB for MongoDB menentukan |
| Parameter ini menerapkan Pemisahan baca/tulis dan load balancing. Mengirim permintaan tulis ke node primary dan permintaan baca ke node yang ditentukan oleh parameter ini. Nilai yang valid:
Catatan Saat permintaan baca dikirim ke node secondary dan read-only, beban mungkin tidak merata. Untuk menentukan node lebih lanjut, atur parameter readPreferenceTags. |
| Parameter ini memprioritaskan pengiriman permintaan baca ke node yang sesuai dengan tag yang ditentukan. Biasanya digunakan bersama parameter readPreference dan tidak kompatibel dengan mode
|
| Parameter opsional lainnya. Catatan Opsi SSL untuk koneksi SRV secara default bernilai true. Jika Anda tidak perlu menggunakan koneksi terenkripsi SSL, tambahkan parameter |
Anda dapat menggunakan parameter readPreference dan readPreferenceTags dalam instans MongoDB. Dengan menggabungkan tag yang berbeda, Anda dapat memenuhi kebutuhan berbagai skenario:
Kebijakan perutean permintaan baca | Target node untuk permintaan baca | Kombinasi parameter |
Permintaan baca dapat fallback ke node primary | Baca dari node primary terlebih dahulu |
|
Baca dari node secondary dan read-only terlebih dahulu |
| |
Baca dari node secondary terlebih dahulu Catatan Jika node secondary gagal, permintaan baca dikirim ke node primary. |
| |
Baca dari node read-only terlebih dahulu Catatan Jika node read-only gagal, permintaan baca dikirim ke node primary. |
| |
Permintaan baca tidak fallback ke node primary | Baca hanya dari node secondary dan read-only |
|
Baca hanya dari node secondary Catatan Jika semua node secondary yang tersedia gagal, operasi baca gagal. |
| |
Baca hanya dari node read-only Catatan Jika semua node read-only yang tersedia gagal, operasi baca gagal. |
|
Contoh:
Akun database adalah test, dan berada di database admin.
mongodb+srv://test:****@dds-bp19215393a0****-srv.mongodb.nosql.aliyuncs.com/admin?ssl=falseAlamat ConnectionStringURI
Format:
mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>?replicaSet=<replicaSet_value>[&authSource=<authenticationDatabase>][&readPreference=<readPreference_value>][&readPreferenceTags=<readonly_Tags>]Deskripsi parameter:
Parameter | Deskripsi |
| Nama akun database. Nilai default adalah root. |
| Kata sandi akun database. |
| Domain Name node primary, secondary, dan read-only. |
| Port node primary, secondary, dan read-only. |
| Nama database yang akan diakses. Nilai default adalah admin. |
| Parameter ini mengirim permintaan baca ke semua node instans set replika. |
| Parameter ini menentukan database tempat akun database berada. |
| Parameter ini menerapkan Pemisahan baca/tulis dan load balancing. Mengirim permintaan tulis ke node primary dan permintaan baca ke node yang ditentukan oleh parameter ini. Nilai yang valid:
Catatan Saat permintaan baca dikirim ke node secondary dan read-only, beban mungkin tidak merata. Untuk menentukan node lebih lanjut, atur parameter readPreferenceTags. |
| Parameter ini memprioritaskan pengiriman permintaan baca ke node yang sesuai dengan tag yang ditentukan. Biasanya digunakan bersama parameter readPreference dan tidak kompatibel dengan mode
|
Anda dapat menggunakan parameter readPreference dan readPreferenceTags dalam instans MongoDB. Dengan menggabungkan tag yang berbeda, Anda dapat memenuhi kebutuhan berbagai skenario:
Kebijakan perutean permintaan baca | Node target untuk permintaan baca | Kombinasi parameter |
Permintaan baca dapat fallback ke node primary | Baca dari node primary terlebih dahulu |
|
Baca dari node secondary dan read-only terlebih dahulu |
| |
Baca dari node secondary terlebih dahulu Catatan Jika node secondary gagal, permintaan baca dikirim ke node primary. |
| |
Baca dari node read-only terlebih dahulu Catatan Jika node read-only gagal, permintaan baca dikirim ke node primary. |
| |
Permintaan baca tidak fallback ke node primary | Baca hanya dari node secondary dan read-only |
|
Baca hanya dari node secondary Catatan Jika semua node secondary yang tersedia gagal, operasi baca gagal. |
| |
Baca hanya dari node read-only Catatan Jika semua node read-only yang tersedia gagal, operasi baca gagal. |
|
Contoh:
mongodb://root:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-6108****Alamat ReadOnly ConnectionStringURI
Format:
mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>?readPreference=secondary&readPreferenceTags=role:readonly&replicaSet=<replicaSet_value>[&authSource=<authenticationDatabase>]Deskripsi:
Parameter | Deskripsi |
| Nama akun database. Nilai default adalah root. |
| Kata sandi akun database. |
| Domain Name node read-only. |
| Port node read-only. |
| Nama database yang akan diakses. Nilai default adalah admin. |
| Parameter ini mengirim permintaan baca ke node read-only. |
| Parameter ini mengirim permintaan baca ke semua node instans set replika. |
| Parameter ini menentukan database tempat akun database berada. |
Contoh:
mongodb://root:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?readPreference=secondary&readPreferenceTags=role:readonly&replicaSet=mgset-6108****Alamat Utama
Format:
mongodb://<username>:<password>@<host>:<port>/<database>?[directConnection=true]Deskripsi:
Parameter | Deskripsi |
| Nama akun database. |
| Kata sandi akun database. |
| Domain Name node primary. |
| Port dari node utama. |
| Nama database yang akan diakses. Nilai default adalah admin. |
| Menentukan bahwa permintaan hanya dikirim ke titik akhir saat ini (node primary).
|
Contoh:
mongodb://root:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?directConnection=trueAlamat Sekunder
Format:
mongodb://<username>:<password>@<host>:<port>/<database>?[directConnection=true]Deskripsi:
Parameter | Deskripsi |
| Nama akun database. |
| Kata sandi akun database. |
| Domain Name node secondary. |
| Port node secondary. |
| Nama database yang akan diakses. Nilai default adalah admin. |
| Menentukan bahwa permintaan hanya dikirim ke titik akhir saat ini (node secondary).
|
Contoh:
mongodb://root:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?directConnection=trueAlamat ReadOnly
Format:
mongodb://<username>:<password>@<host>:<port>/<database>?[directConnection=true]Deskripsi:
Parameter | Deskripsi |
| Nama akun database. |
| Kata sandi akun database. |
| Domain Name node read-only. |
| Port node read-only. |
| Nama database yang akan diakses. Nilai default adalah admin. |
| Menentukan bahwa permintaan hanya dikirim ke titik akhir saat ini (node read-only).
|
Contoh:
mongodb://root:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?directConnection=trueJenis jaringan untuk alamat koneksi
Jenis jaringan | Deskripsi |
Jaringan privat |
|
Jaringan publik | Menghubungkan ke instans melalui Internet menimbulkan risiko keamanan. Instans ApsaraDB for MongoDB tidak menyediakan titik akhir publik secara default. Untuk terhubung melalui jaringan publik, Anda dapat secara manual mengajukan titik akhir publik. |
Peroleh titik akhir database
Buka halaman Replica Set Instances. Di bagian atas halaman, pilih kelompok sumber daya dan wilayah, lalu klik ID instans target.
Di panel navigasi sebelah kiri halaman detail instans, klik Database Connections.
Login ke database MongoDB
Ambil informasi berikut:
Akun database. Akun awal adalah root.
CatatanJangan gunakan akun root untuk terhubung ke database dalam lingkungan produksi. Anda dapat membuat akun database dan memberikan izin.
Kata sandi akun database. Jika Anda belum menyetel kata sandi atau lupa, Anda dapat menyetel ulang atau mengatur ulang kata sandi.
Database yang akan diakses. Jika akun database adalah root, database yang sesuai adalah admin.
Login ke database. Anda dapat menggunakan salah satu metode berikut:
Skenario koneksi umum
Hubungkan ke instans MongoDB dari client lokal melalui Internet
Hubungkan ke instans MongoDB dari Instance ECS di wilayah berbeda melalui jaringan internal
Hubungkan ke instans MongoDB dari Instance ECS yang termasuk akun berbeda melalui jaringan internal
Hubungkan ke instans set replika untuk menerapkan Pemisahan baca/tulis untuk database MongoDB