Eu absolutamente preciso de um mínimo de 3 nós/servidores para um cluster Cassandra ou 2 serão suficientes?

StackOverflow https://stackoverflow.com/questions/2330562

Pergunta

Certamente se pode executar um único cluster de nós, mas eu gostaria de algum nível de tolerância a falhas.

No momento, posso me dar ao luxo de arrendar dois servidores (8 GB de RAM, VLAN privada @1Gige), mas não 3.

Meu entendimento é que três nós é o mínimo necessário para um cluster de Cassandra, porque não há maioria possível entre 2 nós, e a maioria é necessária para resolver conflitos de versão. Oh, espere, estou pensando em "relógios vetoriais" e riak? ACK! Cassandra usa Timestamps para resolução de conflitos.

Para 2 nós, qual é a estratégia recomendada de leitura/gravação? Devo geralmente escrever para todos (ambos) nós e ler de um (n = 2; W = n/2+1; W = 2/2+1 = 2)? Cassandra usará Handoff sugerido, como de costume, mesmo para 2 nós, sim?

Esses dois servidores estão localizados no mesmo data center fwiw.

Obrigado!

Foi útil?

Solução

Se você precisar de disponibilidade em um sistema RF = 2, clustersize = 2, não poderá usar tudo ou não poderá escrever quando um nó diminuir.

É por isso que as pessoas recomendam 3 nós em vez de 2, porque você pode fazer leituras de quorum+grava e ainda ter consistência e disponibilidade fortes se um único nó cair.

Com apenas 2 nós, você escolhe se deseja uma consistência forte (escreva com todos) ou disponibilidade diante de uma única falha de nós (escreva com um), mas não ambos. Obviamente, se você escrever com um Cassandra, fará uma transferência sugerida etc, conforme necessário, para torná -lo consistente.

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