MongoMultiMaster

Tela Software:
MongoMultiMaster
Detalhes de Software:
Versão: 0.0.4
Data de upload: 20 Feb 15
Revelador: Rick Copeland
Licença: Livre
Popularidade: 9

Rating: nan/5 (Total Votes: 0)

MongoMultiMaster é uma ferramenta Python, que lhe permite configurar a replicação multi-master com MongoDB. & Nbsp; É enfaticamente não é suportado pelo 10gen, os fabricantes do MongoDB.
Ele funciona por meio de consulta a oplog em um conjunto de réplicas e aplicando suas operações para outro conjunto de réplicas. Ele suporta replicação bidirecional etiquetando cada documento reproduzido com sua fonte.
Instalação
Para instalar, usar pip:
pip instalar MongoMultiMaster
Configuração MongoDB
MMM precisa ter acesso ao conjunto de réplicas oplog para cada mestre. Isso significa que ele não funciona com os servidores que estão configurados como servidores autônomos. Para converter um servidor autônomo para um conjunto de réplicas solteirão, primeiro você precisa dizer a ele sobre o conjunto é em tempo de lançamento:
& Nbsp; mongod --replSet foo
Então, para iniciar o conjunto de réplicas, você precisa executar o seguinte no shell mongo:
> Rs.initiate ()
Configuração MongoMultiMaster Replication
Depois de criar o mestre conjunto de réplicas, você precisa dizer a MMM onde os servidores estão. Isso é feito por meio de um arquivo de configuração YAML. Um arquivo de configuração de exemplo com dois servidores está incluído abaixo:
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'
Primeiro, vamos verificar que não há nenhuma configuração e que pode se conectar a todos os servidores no arquivo de configuração:
 mmm -c test.yml claro-config
Sobre para limpar configuração em servidores: ['Server_A', 'server_b'], você tem certeza? (In) y
Limpar configuração para Server_A
Limpar configuração para server_b
& Nbsp; mmm -c test.yml despejá-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 Replication Configuração
=== Server_b Replication Configuração
A seguir, vamos criar duas coleções replicados:
& Nbsp; mmm -c test.yml replicar --src = Server_A / test.foo --dst = server_b / test.foo
& Nbsp; mmm -c test.yml replicar --src = Server_A / test.bar --dst = server_b / test.bar
E confirmar que eles estão configurados corretamente:
 mmm -c test.yml despejo-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 Replication Configuração
=== Server_b Replication Configuração
& Nbsp; - test.foo <= Server_A / test.foo
& Nbsp; - test.bar <= Server_A / test.bar
Agora, vamos fazer a replicação bidirecional:
& Nbsp; mmm -c test.yml replicar --src = server_b / test.foo --dst = Server_A / test.foo
& Nbsp; mmm -c test.yml replicar --src = server_b / test.bar --dst = Server_A / test.bar
E verificar se ele está correto ...
 mmm -c test.yml despejo-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 Replication Configuração
& Nbsp; - test.foo <= server_b / test.foo
& Nbsp; - test.bar <= server_b / test.bar
=== Server_b Replication Configuração
& Nbsp; - test.foo <= Server_A / test.foo
& Nbsp; - test.bar <= Server_A / test.bar
Agora podemos executar o replicador:
& Nbsp; mmm -c test.yml run
coisas a considerar
- A replicação pode ficar para trás se você estiver escrevendo um monte. Este não é tratado de todo.
- Replicação começa no momento em que mmm run foi chamado pela primeira vez. Você deve ser capaz de iniciar / parar mmm e tê-lo pegar de onde parou.
- Conflitos entre senhores não são tratados; se você está escrevendo para o mesmo documento em ambas as cabeças com freqüência, você pode ficar fora de sincronia.
- Replicação insere um campo de contabilidade em cada documento para significar a UUID servidor que último escreveu o documento. Isto expande o tamanho de cada documento ligeiramente.
Há provavelmente bordas afiadas, outros bugs não atendidas, e várias coisas desagradáveis ​​esperando por você, se você usar MMM em um sistema de produção sem o teste completo. . Mas se você gosta de correr com uma tesoura e de outra maneira viver perigosamente, sinta-se livre para experimentá-lo

Requisitos :

  • Python

Programas semelhantes

sgwi
sgwi

20 Feb 15

Mondrian
Mondrian

2 Jun 15

firebirdsql
firebirdsql

20 Feb 15

Outro software de desenvolvedor Rick Copeland

Ming
Ming

12 May 15

Zarkov
Zarkov

14 Apr 15

Comentário para MongoMultiMaster

Comentários não encontrado
Adicionar comentário
Ligue imagens!