Versão do protocolo de conjunto de réplicas autogerenciado
O MongoDB suporta apenas a versão 1 do protocolo de conjunto de réplicas (pv1
). pv1
é o padrão para todos os novos conjuntos de réplicas.
Preservação de gravações
w:1
Escreve
Com pv1
, você pode usar catchUpTimeoutMillis
para priorizar failovers mais rápidos e preservação de escritas w:1
.
w: "majority"
Escreve
pv1
garante a preservação das gravações w:
"majority"
confirmadas.
Disponibilidade
pv1
está disponível na versão 3.2 do MongoDB ou posterior e é o padrão para todos os novos conjuntos de réplicas.
Vectores
pv1
não usa vetores. .
Detecção de primary simultâneos
Em alguns casos, dois nós em um conjunto de réplicas podem acreditar transitoriamente que são os primários, mas somente um deles poderá realizar gravações com restrição de gravação { w:
"majority" }
. O nó que consegue realizar gravações { w: "majority" }
é o primário atual, e o outro nó é um antigo primário que ainda não reconheceu seu rebaixamento, normalmente devido a uma partição de rede. Quando isso ocorre, os clientes que se conectam ao antigo primário poderão ver dados obsoletos, apesar de terem solicitado uma preferência de leitura primary
, e novas gravações no antigo primário acabarão sendo revertidas.
pv1
usa o conceito do termo. Isso permite uma detecção mais rápida de primários simultâneos e várias eleições bem-sucedidas em um curto período.
Eleições back to back
pv1
faz uma tentativa de "melhor esforço" para que o secundário com o maior priority
disponível chame uma eleição. Isso pode levar a eleições consecutivas, pois membros elegíveis com maior prioridade podem convocar uma eleição.
No entanto, para pv1
:
As eleições prioritárias foram limitadas para ocorrer somente se o nó de prioridade mais alta estiver dentro de 10 segundos do primário atual.
Os árbitros votarão "não" nas eleições se detectarem uma primária saudável de igual ou maior prioridade para o candidato.
votação double
pv1
evita o voto duplo na convocação de um membro para a eleição. Isso é alcançado por meio do uso de termos.