English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A replicação do MongoDB é o processo de sincronização de dados em vários servidores.
A replicação fornece cópias de segurança de dados, armazenando cópias de dados em vários servidores, aumentando a disponibilidade dos dados. E pode garantir a segurança dos dados.
A replicação também permite que você recupere dados de falhas de hardware e interrupções de serviços.
A replicação do MongoDB pelo menos precisa de dois nós. Um deles é o nó mestre, responsável por lidar com solicitações do cliente, e os outros são nós escravos, responsáveis por copiar os dados do nó mestre.
As combinações comuns dos nós do MongoDB são: um mestre e um escravo, um mestre e vários escravos.
O nó mestre registra todas as operações em seu oplog, e os nós escravos polling regularmente o nó mestre para obter essas operações, então executam essas operações em suas cópias de dados, garantindo que os dados do nó escravo sejam consistentes com o nó mestre.
O diagrama de estrutura de replicação do MongoDB é mostrado a seguir:
No diagrama de estrutura acima, o cliente lê dados do nó mestre, e quando o cliente escreve dados no nó mestre, O nó mestre e o nó escravo se comunicam para garantir a consistência dos dados.
Neste tutorial, usamos o mesmo MongoDB para fazer o experimento de MongoDB mestre-esclavo. Os passos a seguir são:
1e feche o servidor MongoDB em execução.
Agora, especificamos --Usar a opção replSet para inicializar o mongoDB.--A sintaxe básica do replSet é a seguinte:
mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"
mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0
O exemplo acima inicializará um exemplo MongoDB chamado rs0, cujo número de porta é27017
Depois de inicializado, abra a janela de prompt de comando e conecte-se ao serviço mongoDB.
No cliente MongoDB, use o comando rs.initiate() para inicializar um novo conjunto de cópias.
Podemos usar rs.conf() para verificar a configuração do conjunto de cópias
Ver o estado do conjunto de cópias usando o comando rs.status()
Para adicionar membros ao replicado, precisamos usar vários servidores para iniciar o serviço mongo. Acesse o cliente MongoDB e use o método rs.add() para adicionar membros ao replicado.
>rs.add(HOST_NAME:PORT)
Suponha que você já tenha iniciado um mongod1.net, porta27017do serviço MongoDB. No prompt de comando do cliente, use o comando rs.add() para adicioná-lo ao replicado, conforme mostrado a seguir:
>rs.add("mongod1.net:27017") >
No MongoDB, você só pode adicionar o serviço MongoDB ao replicado através do nó mestre. Para determinar se o serviço MongoDB em execução é o nó mestre, você pode usar o comando db.isMaster().
Os replicados do MongoDB são diferentes dos comuns mestre-esclavo, onde no caso de falha do mestre todos os serviços param, enquanto no replicado, após a falha do mestre, o replicado assume o nó mestre, não ocorrendo falha.