O Mongo pode ser implementado em produção em um servidor?

1

Eu não quero alugar outro servidor ...

Mas a Wikipédia diz:

MongoDB should never be deployed on fewer than two servers[citation needed]: a master and a slave. A master can perform reads and writes. A slave copies data from the master and can only be used for reads or backup (not writes).

    
por Alex 07.05.2011 / 08:39

4 respostas

3

Isso está bastante desatualizado. Com 1.8 você tem durabilidade de nó único, veja --jornal.

    
por 07.05.2011 / 10:25
2

Com a versão atual, você pode usar um único servidor graças ao registro no diário. Tecnicamente, você sempre poderia usar apenas um servidor, no entanto, devido à falta de registro no diário, seu banco de dados poderia ficar corrompido.

Uma palavra de conselho. Crie um conjunto de réplicas em seu servidor único com. Você pode criar várias instâncias do mongo em uma máquina. Você pode criar um primário (mestre), secundário (escravo) e um árbitro. Dessa forma, você pode desligar o escravo ocasionalmente e copiar os arquivos do banco de dados para backups, e se por algum motivo um dos outros processos for desligado, o aplicativo ainda poderá se conectar ao banco de dados.

    
por 07.11.2012 / 21:17
1

Acho que o novo ambiente recomendado para o mongo em produção envolve "conjuntos de réplicas", que na verdade tem pelo menos três servidores. Se o servidor principal ficar inativo, os outros dois servidores elegerão um deles para assumir o controle. Quando a primária original volta a ficar online, outra eleição é realizada e um novo primário é selecionado.

Não tenho certeza se o mestre-escravo está obsoleto, mas acho que, se você estiver construindo mongo fresco, deverá considerar a possibilidade de criar um conjunto de réplicas.

Se você realmente não quiser mais servidores, considere a possibilidade de executar todos os secundários lado-a-lado no mesmo servidor que o primário (mas em portas diferentes). No entanto, isso não é muito redundante.

    
por 07.05.2011 / 09:33
0

Eu acho que depende do uso que você precisa fazer do mongodb ...

O motivo da sugestão da Wikipedia é que com o mongoDb (até a versão 1.3.1) você não poderia fazer um backup sem primeiro preencher o banco de dados.

A partir de 1.3.1, você pode fazer uma gravação de bloqueio de backup:

MongoDB v1.3.1 and higher supports an fsync and lock command with which we can flush writes, lock the database to prevent writing, and then backup the datafiles.

While in this locked mode, all writes will block. If this is a problem consider one of the other methods below.

Se você tem alto uso do seu aplicativo com muitos acessos implantando em dois servidores é a melhor maneira, considerando que você tem um aplicativo que é usado apenas durante o dia, você poderia parar ou travar o banco de dados, fazer um backup, então reiniciar ou desbloquear nas horas noturnas ...

    
por 07.05.2011 / 08:53