Tempo de Failover do MongoDB

1

Eu tenho um conjunto de réplicas do MongoDB 2.4 de seis nós e um arbitrador em execução em um ambiente de teste. Eu estava testando o tempo de resposta do failover e foi em torno de quarenta e cinco segundos.

Lembre-se de que as leituras são definidas como secundárias de preferência, portanto, somente as gravações são interrompidas durante esse período. Portanto, não é tão ruim quanto um fracasso completo, mas é um problema.

Eu fiz algumas pesquisas sobre reduzir esse tempo e parece que está tão alto que não se deve passar por cima de uma conexão atrasada e evitar "flapping", que alguns descreveram como múltiplas eleições ocorrendo rapidamente. Depois de alterar o código-fonte, eu realmente não encontrei uma maneira de diminuir o tempo de failover.

Qualquer maneira de reduzir isso a menos de trinta segundos? Quanto menor, melhor.

    
por Jonathan 26.03.2013 / 06:57

2 respostas

1

Que tal dar a um secundário uma prioridade mais alta?

local.system.replset.members[n].priority

defina o mestre como 5, o secundário que você quer que seja 4, o terceiro como 3 e assim por diante.

Dessa forma, haverá menos problemas com as eleições.

    
por 26.03.2013 / 10:27
1

Veja o 3.0 Docs

How long does replica set failover take?

It varies, but a replica set will select a new primary within a minute.

It may take 10-30 seconds for the members of a replica set to declare a primary inaccessible. This triggers an election. During the election, the cluster is unavailable for writes.

The election itself may take another 10-30 seconds.

    
por 26.03.2013 / 07:23