MongoMultiMaster

Software screenshot:
MongoMultiMaster
Dettagli del software:
Versione: 0.0.4
Data di caricamento: 20 Feb 15
Sviluppatore: Rick Copeland
Licenza: Libero
Popolarità: 9

Rating: nan/5 (Total Votes: 0)

MongoMultiMaster è uno strumento di Python che permette di impostare la replica multi-master con MongoDB. & Nbsp; Non è decisamente supportato da 10gen, i creatori di MongoDB.
Funziona interrogando la oplog su un set di repliche e applicando le sue operazioni a un altro set di repliche. Esso supporta la replica bidirezionale etichettando ogni documento replicato con la sua fonte.
Installazione
Per installare, utilizzare pip:
pip installare MongoMultiMaster
Setup MongoDB
MMM bisogno di accedere al set di repliche oplog per ogni master. Ciò significa che non funziona con i server configurati come server standalone. Per convertire un server autonomo a un set di repliche Singleton, prima bisogna dire che sul set è in al momento del lancio:
& Nbsp; mongod --replSet foo
Quindi, per avviare il set di repliche, è necessario eseguire il seguente alla shell mongo:
> Rs.initiate ()
Setup MongoMultiMaster Replication
Una volta creato il padrone set di repliche, è necessario dire MMM dove i server sono. Questo viene fatto attraverso un file di configurazione YAML. Un esempio di file di configurazione con due server è incluso di seguito:
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'
Prima di tutto, verificare che non c'è alcuna configurazione e che siamo in grado di connettersi a tutti i server nel file di configurazione:
 mmm -c test.yml chiaro-config
A proposito di cancellare config sui server: ['Server_A', 'server_b'], sei sicuro? (YN) y
Chiaro config per Server_A
Chiaro config per server_b
& Nbsp; mmm -c test.yml discarica-config
=== === Config Server
Server_A (2c88ae84-7cb9-40f7-835d-c05e981f564d) => mongodb: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => mongodb: // localhost: 27017
=== Server_A replica Config
=== Server_b replica Config
Successivamente, verrà impostato due collezioni replicate:
& Nbsp; mmm -c test.yml replica --src = Server_A / test.foo --dst = server_b / test.foo
& Nbsp; mmm -c test.yml replica --src = Server_A / test.bar --dst = server_b / test.bar
E confermano che sono configurato correttamente:
 mmm -c test.yml discarica-config
=== === Config Server
Server_A (2c88ae84-7cb9-40f7-835d-c05e981f564d) => mongodb: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => mongodb: // localhost: 27017
=== Server_A replica Config
=== Server_b replica Config
& Nbsp; - test.foo <= Server_A / test.foo
& Nbsp; - test.bar <= Server_A / test.bar
Ora, facciamo il bidirezionale replica:
& Nbsp; mmm -c test.yml replica --src = server_b / test.foo --dst = Server_A / test.foo
& Nbsp; mmm -c test.yml replica --src = server_b / test.bar --dst = Server_A / test.bar
E verificare che sia corretta ...
 mmm -c test.yml discarica-config
=== === Config Server
Server_A (2c88ae84-7cb9-40f7-835d-c05e981f564d) => mongodb: // localhost: 27019
server_b (0d9c284b-b47c-40b5-932c-547b8685edd0) => mongodb: // localhost: 27017
=== Server_A replica Config
& Nbsp; - test.foo <= server_b / test.foo
& Nbsp; - test.bar <= server_b / test.bar
=== Server_b replica Config
& Nbsp; - test.foo <= Server_A / test.foo
& Nbsp; - test.bar <= Server_A / test.bar
Ora siamo in grado di eseguire il replicatore:
& Nbsp; mmm -c test.yml run
Cose da considerare
- La replica può rimanere indietro se si sta scrivendo un sacco. Questo non è gestita affatto.
- Replica inizia nel momento in cui mmm run è stato chiamato prima. Dovreste essere in grado di fermare / avviare mmm e farlo riprendere da dove era stato interrotto.
- I conflitti tra maestri non sono gestiti; se si sta scrivendo allo stesso documento su entrambe le teste di frequente, è possibile ottenere fuori sincrono.
- Replica inserisce un campo di contabilità in ogni documento per indicare l'UUID del server che lo scorso ha scritto il documento. Questo espande la dimensione di ciascun documento leggermente.
Probabilmente ci sono spigoli vivi, altri bug perse, e varie cose brutte che ti aspettano se si utilizza MMM in un sistema di produzione, senza test approfonditi. . Ma se ti piace correre con le forbici e altrimenti vivere pericolosamente, sentitevi liberi di provare

Requisiti :

  • Python

Programmi simili

Psycopg2
Psycopg2

17 Feb 15

ChemDB
ChemDB

14 Apr 15

OSPRep
OSPRep

11 May 15

Altri software di sviluppo Rick Copeland

Ming
Ming

12 May 15

Zarkov
Zarkov

14 Apr 15

Commenti a MongoMultiMaster

I commenti non trovato
Aggiungi commento
Accendere le immagini!