Replikasi MongoDB (set replika)
Replikasi MongoDB ialah proses penyegerakan data merentas berbilang pelayan.
Replikasi menyediakan sandaran data yang berlebihan dan menyimpan salinan data pada berbilang pelayan, meningkatkan ketersediaan data. Dan boleh memastikan keselamatan data.
Replikasi juga membolehkan anda memulihkan data daripada kegagalan perkakasan dan gangguan perkhidmatan.
Apakah replikasi?
Jaminan keselamatan data
Ketersediaan tinggi data (24*7)
Pemulihan Bencana
Tiada masa henti diperlukan untuk penyelenggaraan (seperti sandaran, pengindeksan semula, pemampatan)
Pembacaan data yang diedarkan
Prinsip replikasi MongoDB
Replikasi Mongodb memerlukan sekurang-kurangnya dua nod. Salah satunya ialah nod induk, bertanggungjawab untuk memproses permintaan pelanggan, dan selebihnya adalah nod hamba, bertanggungjawab untuk mereplikasi data pada nod induk.
Kaedah kolokasi biasa bagi setiap nod mongodb ialah: satu tuan dan satu hamba, satu tuan dan berbilang hamba.
Nod induk merekodkan semua operasi oplog padanya Nod hamba secara berkala meninjau nod induk untuk mendapatkan operasi ini, dan kemudian melaksanakan operasi ini pada salinan datanya sendiri, dengan itu memastikan bahawa data nod hamba adalah. konsisten dengan nod induk.
Rajah struktur replikasi MongoDB adalah seperti berikut:
Rajah struktur di atas menunjukkan bahawa klien membaca data daripada nod induk dan menulis data kepada klien Nod induk ialah, Interaksi data antara nod induk dan nod hamba memastikan konsistensi data.
Ciri set replika:
Kluster nod N
Mana-mana nod boleh berfungsi sebagai nod induk
Semua penulisan berada pada nod utama
Kegagalan automatik
Pemulihan automatik
Tetapan set replika MongoDB
Dalam tutorial ini kami menggunakan MongoDB yang sama untuk melakukan eksperimen hamba induk MongoDB. Langkah-langkahnya adalah seperti berikut:
1. Tutup pelayan MongoDB yang sedang berjalan.
Sekarang kita mulakan mongoDB dengan menentukan pilihan --replSet. Format sintaks asas --replSet adalah seperti berikut:
mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"
Instance
mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0
Contoh di atas akan memulakan tika MongoDB bernama rs0, yang nombor portnya ialah 27017.
Selepas dimulakan, buka command prompt dan sambungkan ke perkhidmatan mongoDB.
Gunakan arahan rs.initiate() pada klien Mongo untuk memulakan set replika baharu.
Kita boleh menggunakan rs.conf() untuk melihat konfigurasi set replika
Untuk melihat status set replika, gunakan perintah rs.status()
Tambah ahli pada set replika
Untuk menambah ahli set replika, kita perlu menggunakan berbilang pelayan untuk memulakan perkhidmatan mongo. Masukkan klien Mongo dan gunakan kaedah rs.add() untuk menambah ahli set replika.
Sintaks
Format sintaks asas perintah rs.add() adalah seperti berikut:>rs.add(HOST_NAME:PORT)
Instance
Andaikan anda telah memulakan Mongo bernama mongod1.net dengan port nombor 27017 Berkhidmat. Gunakan perintah rs.add() dalam tetingkap arahan klien untuk menambahkannya pada set replika Perintahnya adalah seperti berikut:
>rs.add("mongod1.net:27017") >
Dalam MongoDB, anda hanya boleh menambah perkhidmatan Mongo pada set replika melalui nod induk. Untuk menentukan sama ada perkhidmatan Mongo yang sedang dijalankan ialah nod induk, anda boleh menggunakan arahan db.isMaster().
Set replika MongoDB berbeza daripada tuan-hamba biasa kami Semua perkhidmatan dalam tuan-hamba akan berhenti selepas hos turun, manakala dalam set replika, selepas hos turun, replika akan mengambil alih. nod induk dan menjadi nod induk Tidak akan ada masa henti.