MongoMultiMaster

Software screenshot:
MongoMultiMaster
Rincian Software:
Versi: 0.0.4
Tanggal Upload: 20 Feb 15
Pengembang: Rick Copeland
Lisensi: Gratis
Popularitas: 85

Rating: 3.0/5 (Total Votes: 2)

MongoMultiMaster adalah alat Python yang memungkinkan Anda untuk mengatur replikasi multi-master dengan MongoDB & nbsp;. Hal ini dengan tegas tidak didukung oleh 10gen, pembuat MongoDB.
Ia bekerja dengan query oplog pada satu set replika dan menerapkan operasinya ke set replika lain. Mendukung replikasi dua arah dengan menandai setiap dokumen direplikasi dengan sumbernya.
Instalasi
Untuk menginstal, menggunakan pip:
pip menginstal MongoMultiMaster
MongoDB Pengaturan
MMM membutuhkan akses ke replika ditetapkan oplog untuk setiap guru. Ini berarti tidak bekerja dengan server yang dikonfigurasi sebagai server mandiri. Untuk mengkonversi server mandiri untuk replika set tunggal, pertama-tama Anda harus menceritakannya tentang set itu di saat peluncuran:
& Nbsp; mongod --replSet foo
Kemudian, untuk memulai set replika, anda harus menjalankan perintah berikut pada shell mongo:
> Rs.initiate ()
MongoMultiMaster Replika Pengaturan
Setelah Anda membuat replika master set, Anda harus memberitahu MMM mana server. Hal ini dilakukan melalui file konfigurasi YAML. Contoh file konfigurasi dengan dua server disertakan di bawah ini:
server_a:
& Nbsp; id: '2c88ae84-7cb9-40f7-835d-c05e981f564d'
& Nbsp; uri: 'mongodb: // localhost: 27019'
server_b:
& Nbsp; id: '0d9c284b-b47c-40b5-932c-547b8685edd0'
& Nbsp; uri: 'mongodb: // localhost: 27017'
Pertama, mari kita pastikan bahwa tidak ada konfigurasi dan bahwa kita dapat terhubung ke semua server dalam file konfigurasi:
 mmm -c test.yml jelas-config
Tentang untuk konfigurasi pada server jelas: ['server_a', 'server_b'], apakah Anda yakin? (YN) y
Jelas config untuk server_a
Jelas config untuk server_b
& Nbsp; mmm -c test.yml membuang-config
=== Server Config ===
server_a (2c88ae84-7cb9-40f7-835d-c05e981f564d) => mongodb: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => mongodb: // localhost: 27017
=== Server_a Replikasi Config
=== Server_b Replikasi Config
Selanjutnya, kita akan menyiapkan dua koleksi direplikasi:
& Nbsp; mmm c test.yml mereplikasi --src = server_a / test.foo --dst = server_b / test.foo
& Nbsp; mmm c test.yml mereplikasi --src = server_a / test.bar --dst = server_b / test.bar
Dan pastikan mereka dikonfigurasi dengan benar:
 mmm -c test.yml sampah-config
=== Server Config ===
server_a (2c88ae84-7cb9-40f7-835d-c05e981f564d) => mongodb: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => mongodb: // localhost: 27017
=== Server_a Replikasi Config
=== Server_b Replikasi Config
& Nbsp; - test.foo <= server_a / test.foo
& Nbsp; - test.bar <= server_a / test.bar
Sekarang, mari kita membuat dua arah replikasi:
& Nbsp; mmm c test.yml mereplikasi --src = server_b / test.foo --dst = server_a / test.foo
& Nbsp; mmm c test.yml mereplikasi --src = server_b / test.bar --dst = server_a / test.bar
Dan memverifikasi bahwa itu benar ...
 mmm -c test.yml sampah-config
=== Server Config ===
server_a (2c88ae84-7cb9-40f7-835d-c05e981f564d) => mongodb: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => mongodb: // localhost: 27017
=== Server_a Replikasi Config
& Nbsp; - test.foo <= server_b / test.foo
& Nbsp; - test.bar <= server_b / test.bar
=== Server_b Replikasi Config
& Nbsp; - test.foo <= server_a / test.foo
& Nbsp; - test.bar <= server_a / test.bar
Sekarang kita dapat menjalankan replikator:
& Nbsp; mmm -c test.yml run
Hal yang Perlu Dipertimbangkan
- Replikasi dapat jatuh di belakang jika Anda sedang menulis banyak. Ini tidak ditangani sama sekali.
- Replikasi dimulai pada saat run mmm pertama kali disebut. Anda harus dapat menghentikan / memulai mmm dan memilikinya mengambil mana ia tinggalkan.
- Konflik antara master tidak ditangani; jika Anda sedang menulis ke dokumen yang sama pada kedua kepala sering, Anda bisa keluar dari sinkronisasi.
- Replikasi menyisipkan bidang pembukuan ke dalam setiap dokumen untuk menandai UUID server yang terakhir menulis dokumen. Ini memperluas ukuran setiap dokumen sedikit.
Mungkin ada tepi tajam, bug terjawab lainnya, dan berbagai hal-hal buruk yang menunggu untuk Anda jika Anda menggunakan MMM dalam sistem produksi tanpa pengujian menyeluruh. . Tapi jika Anda suka berjalan dengan gunting dan sebaliknya tinggal berbahaya, jangan ragu untuk mencobanya

Persyaratan :

  • Python

Software yang serupa

PgAdmin III
PgAdmin III

17 Feb 15

Products.Undoer
Products.Undoer

15 Apr 15

QtAlchemy
QtAlchemy

20 Feb 15

JPathDB
JPathDB

11 May 15

Perangkat lunak lain dari pengembang Rick Copeland

Zarkov
Zarkov

14 Apr 15

Ming
Ming

12 May 15

Komentar untuk MongoMultiMaster

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!