Pergunta

Como é o algoritmo de consenso de jangada Diferente do processo eleitoral primário do MongoDB diferente dofato de que MongoDB requer outros fatores (prioridade, por exemplo) em consideração enquanto elege o primário?

Foi útil?

Solução

Algumas diferenças-chave na abordagem de consenso como no MongoDB 2.4 são:

  • jangada usa um modelo líder forte . O líder tem a responsabilidade de gerenciar replicação e fluxos de dados do líder para outros servidores. Na réplica MongoDB, define os secundários seguem o log de operação ( OPLog ) de um host upstream que pode ser o principal ou um secundário com um novo oplog.

  • RAFT só tem três estados de nós a considerar: líder (primário), seguidor (secundário) ou candidato (nomeado primário). MongoDB tem estados de nó adicionais a considerar incluindo mais estados de erros potenciais, como RECOVERING ou SHUNNED nós, ou Replica Delay set membros .

  • Na jangada Cada nó só pode votar para um nó candidato uma vez por prazo eleitoral. MongoDB permite que os votos por nó sejam ajustados como parte da configuração do conjunto de réplicas, portanto, alguns nós podem ser não votantes ou possivelmente ter vários votos (Nota: Múltipla Configuração de Votares foi reprovada a partir do MongoDB 2.5 Ramo de desenvolvimento ).

  • Raft usa uma abordagem de consenso de junção que permite que um cluster continue operando durante as alterações de configuração. MongoDB requer uma maior maioria dos nós de votação para eleger um novo primário; Enquanto uma eleição está em andamento, o conjunto de réplica não tem primário e não é possível aceitar gravações.

Para informações mais detalhadas, você deve comparar o papel jangado em busca de um Algoritmo de consenso compreensível Com a documentação em MongoDB Replica definir eleições .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top