¿Necesito absolutamente un mínimo de 3 nodos/servidores para un clúster Cassandra o será suficiente?

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

Pregunta

Seguramente uno puede ejecutar un solo clúster de nodo, pero me gustaría algún nivel de tolerancia a fallas.

En la actualidad, puedo permitirme alquilar dos servidores (8 GB de RAM, VLAN privado @1gige) pero no 3.

Entiendo que 3 nodos es el mínimo necesario para un clúster de Cassandra porque no hay una mayoría posible entre 2 nodos, y se requiere una mayoría para resolver conflictos de versiones. Oh, espera, ¿estoy pensando en "relojes vectoriales" y Riak? ¡ACK! Cassandra utiliza marcas de tiempo para la resolución de conflictos.

Para 2 nodos, ¿cuál es la estrategia de lectura/escritura recomendada? ¿Debería escribir generalmente todos los (ambos) nodos y leer de uno (n = 2; w = n/2+1; w = 2/2+1 = 2)? Cassandra usará Tirsed-Handoff como de costumbre incluso para 2 nodos, ¿sí?

Estos 2 servidores se encuentran en el mismo centro de datos FWIW.

¡Gracias!

¿Fue útil?

Solución

Si necesita disponibilidad en un sistema RF = 2, clustersize = 2, entonces no puede usar todo o no podrá escribir cuando un nodo caiga.

Es por eso que las personas recomiendan 3 nodos en lugar de 2, porque entonces puedes hacer lecturas de quórum+escrituras y aún así tener una fuerte consistencia y disponibilidad si un solo nodo cae.

Con solo 2 nodos, puede elegir si desea una fuerte consistencia (escriba con todo) o disponibilidad frente a una sola falla de nodo (escriba con uno) pero no ambos. Por supuesto, si escribe con un Cassandra, hará una transferencia insinuada, etc. según sea necesario para hacerlo eventualmente consistente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top