MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Conjunto de réplicas MongoDB de dois nós sem árbitro


Resposta curta:não.

Resposta longa:a maneira como o failover automático funciona no MongoDB é que um conjunto de réplicas precisa de uma maioria qualificada para eleger com êxito um novo primário. Membros atrasados ​​têm votos nas eleições. Então, se ou dos seus nós falharem, o conjunto de réplicas descobrirá que não tem essa maioria e o primário atual diminuirá, mesmo que não tenha falhado. Então, o que você faz essencialmente é duplicar as chances de fazer seu conjunto de réplicas falhar. Um árbitro é um processo muito barato, em termos de uso de RAM, CPU e até espaço em disco quando executado com --smallfiles --no-journal --noprealloc ou as opções equivalentes definidas no arquivo de configuração. Observe que as opções mencionadas são seguras de usar, pois um árbitro essencialmente verifica apenas os batimentos cardíacos dos nós portadores de dados. Você pode colocar o árbitro no servidor de aplicativos, por exemplo.

Isenção de responsabilidade:o procedimento a seguir é fortemente desencorajado. Prossiga por sua conta e risco.

Você pode definir os votos do servidor atrasado para 0. Dessa forma, o nó não atrasado chamará uma eleição caso o membro atrasado falhe, chegue à conclusão de que é o único nó online do conjunto de réplicas e em> que tem a maioria dos votos (1/1) e continuará a trabalhar como esperado. Este curso de ação precisa de alguma atenção, pois você terá um número par de votos novamente caso adicione um membro ao conjunto de réplicas posteriormente e seja necessário reconfigurar o conjunto de réplicas. Também tem sérias implicações com problemas de fragmentação de rede. Novamente:Use por sua conta e risco