Apakah Replikasi MongoDB?
Replikasi dirujuk pada proses memastikan bahawa data yang sama tersedia pada lebih dari satu Mongo DB Server. Ini kadang-kadang diperlukan untuk tujuan meningkatkan ketersediaan data.
Kerana jika Pelayan MongoDB utama anda dimatikan dengan alasan apa pun, tidak akan ada akses ke data. Tetapi jika anda mempunyai data yang direplikasi ke pelayan lain secara berkala, anda akan dapat mengakses data dari pelayan lain walaupun pelayan utama gagal.
Tujuan replikasi lain adalah kemungkinan pengimbangan beban. Sekiranya terdapat banyak pengguna yang menyambung ke sistem, dan bukannya menyambungkan semua orang ke satu sistem, pengguna dapat dihubungkan ke beberapa pelayan sehingga terdapat pengagihan beban yang sama.
Di MongoDB, beberapa Pelayan MongDB dikelompokkan dalam set yang disebut set Replika. Set Replika akan mempunyai pelayan utama yang akan menerima semua operasi tulis dari klien. Semua contoh lain yang ditambahkan ke set setelah ini akan disebut sebagai contoh sekunder yang dapat digunakan terutamanya untuk semua operasi baca.
Dalam tutorial ini, anda akan belajar -
- Set Replika: Menambah Anggota Pertama menggunakan rs.initiate ()
- Set Replika: Menambah Sekunder menggunakan rs.add ()
- Set Replika: Menyusun semula atau Mengeluarkan menggunakan rs.remove ()
- Penyelesaian Masalah Set Replika
Set Replika: Menambah Anggota Pertama menggunakan rs.initiate ()
Seperti disebutkan di bagian sebelumnya, untuk memungkinkan replikasi, pertama-tama kita harus membuat set replika instance MongoDB.
Mari kita anggap bahawa untuk contoh kita, kita mempunyai 3 pelayan bernama ServerA, ServerB, dan ServerC. Dalam konfigurasi ini, ServerA akan menjadi pelayan Utama kami dan ServerB dan ServerC akan menjadi pelayan sekunder kami. Tangkapan skrin di bawah akan memberikan idea yang lebih baik.
Berikut adalah langkah-langkah yang perlu diikuti untuk membuat set replika bersama dengan penambahan anggota pertama ke set tersebut.
Langkah 1) Pastikan semua contoh mongod.exe yang akan ditambahkan ke set replika dipasang pada pelayan yang berbeza. Ini untuk memastikan bahawa walaupun satu pelayan mati, yang lain akan tersedia dan oleh itu contoh lain dari MongoDB akan tersedia.
Langkah 2) Pastikan semua contoh mongo.exe dapat berhubung antara satu sama lain. Dari ServerA, keluarkan 2 perintah di bawah ini
mongo -host ServerB -port 27017
mongo -host ServerC -port 27017
Begitu juga, lakukan perkara yang sama dari pelayan yang tinggal.
Langkah 3) Mulakan contoh mongod.exe pertama dengan pilihan replSet. Pilihan ini menyediakan pengelompokan untuk semua pelayan yang akan menjadi sebahagian daripada set replika ini.
mongo -replSet "Replica1"
Di mana "Replica1" adalah nama set replika anda. Anda boleh memilih mana-mana nama yang bermakna untuk nama set replika anda.
Langkah 4) Sekarang setelah pelayan pertama ditambahkan ke set replika, langkah selanjutnya adalah memulai set replika dengan mengeluarkan perintah berikut rs.initiate ()
Langkah 5) Sahkan replika yang ditetapkan dengan mengeluarkan perintah rs.conf () untuk memastikan replika disiapkan dengan betul
Set Replika: Menambah Sekunder menggunakan rs.add ()
Pelayan sekunder dapat ditambahkan ke set replika dengan hanya menggunakan perintah rs.add. Perintah ini mengambil nama pelayan sekunder dan menambahkan pelayan ke set replikasi.
Langkah 1) Andaikan jika anda mempunyai ServerA, ServerB, dan ServerC, yang diperlukan untuk menjadi sebahagian daripada set replika dan ServerA, ditakrifkan sebagai pelayan utama dalam set replika.
Untuk menambahkan ServerB dan ServerC ke set replika mengeluarkan perintah
rs.add("ServerB")rs.add("ServerC")
Set Replika: Menyusun semula atau Mengeluarkan menggunakan rs.remove ()
Untuk mengeluarkan pelayan dari set konfigurasi, kita perlu menggunakan perintah "rs.remove"
Langkah 1) Mula-mula melakukan penutupan contoh yang ingin anda alih keluar. Seseorang boleh melakukan ini dengan mengeluarkan perintah db.shutdownserver dari shell mongo.
Langkah 2) Sambungkan ke pelayan utama
Langkah 3) Gunakan arahan rs.remove untuk mengeluarkan pelayan yang diperlukan dari set replika. Oleh itu, andaikan jika anda mempunyai set replika dengan ServerA, ServerB, dan ServerC, dan anda ingin mengeluarkan ServerC dari set replika, berikan arahan
rs.remove("ServerC")
Penyelesaian Masalah Set Replika
Langkah-langkah berikut adalah cara yang sama seseorang dapat menyelesaikan masalah ketika masalah dihadapi dengan penggunaan set replika.
- Pastikan semua contoh mongo.exe dapat saling berhubung. Katakan jika anda mempunyai 3 pelayan bernama ServerA, ServerB, dan ServerC. Dari Pelayan A, keluarkan 2 perintah di bawah ini
mongo -host ServerB -port 27017mongo -host ServerC -port 27017
- Jalankan arahan rs.status. Perintah ini memberikan status set replika. Secara lalai, setiap anggota akan saling menghantar mesej yang disebut "degupan jantung" yang hanya menunjukkan bahawa pelayan masih hidup dan berfungsi. Perintah "status" mendapat status mesej ini dan menunjukkan jika ada masalah dengan mana-mana ahli dalam set replika.
- Periksa ukuran Oplog - Oplog adalah koleksi di MongoDB yang menyimpan sejarah penulisan yang dilakukan ke pangkalan data MongoDB. MongoDB kemudian menggunakan Oplog ini untuk meniru tulisan kepada anggota lain dalam set replika. Untuk memeriksa Oplog, sambungkan ke contoh anggota yang diperlukan dan jalankan perintah rs.printReplicationInfo. Perintah ini akan menunjukkan ukuran log dan berapa lama ia dapat melakukan transaksi dalam fail lognya sebelum menjadi penuh.
Ringkasan: