En un sistema distribuido, los datos se almacenan en diferentes computadoras en una red. Por lo tanto, debemos asegurarnos de que los datos estén fácilmente disponibles para los usuarios. La disponibilidad de los datos es un factor importante que a menudo se logra mediante la replicación de datos. La replicación es la práctica de mantener varias copias de datos en diferentes lugares.
¿Por qué requerimos la replicación?
Lo primero y más importante es que hace que nuestro sistema sea más estable debido a la replicación de Nodes. Es bueno tener réplicas de un Node en una red por las siguientes razones:
- Si un Node deja de funcionar, la red distribuida seguirá funcionando bien debido a sus réplicas que estarán allí. Por lo tanto, aumenta la tolerancia a fallas del sistema.
- También ayuda a compartir la carga donde las cargas en un servidor se comparten entre diferentes réplicas.
- Mejora la disponibilidad de los datos. Si se crean las réplicas y los datos se almacenan cerca de los consumidores, sería más fácil y rápido obtener los datos.
Tipos de replicación
- Replicación activa
- Replicación pasiva
Replicación activa:
- La solicitud del cliente va a todas las réplicas.
- Debe asegurarse de que cada réplica reciba la solicitud del cliente en el mismo orden; de lo contrario, el sistema se volverá inconsistente.
- No hay necesidad de coordinación porque cada copia procesa la misma solicitud en la misma secuencia.
- Todas las réplicas responden a la solicitud del cliente.
ventajas:
- Es realmente simple. Los códigos en la replicación activa son los mismos en todas partes.
- es transparente
- Incluso si un Node falla, será fácilmente manejado por réplicas de ese Node.
Desventajas:
- Aumenta el consumo de recursos. Cuanto mayor sea el número de réplicas, mayor será la memoria necesaria.
- Aumenta la complejidad del tiempo. Si se realiza algún cambio en una réplica, también se debe realizar en todas las demás.
Replicación pasiva:
- La solicitud del cliente va a la réplica principal, también denominada réplica principal.
- Hay más réplicas que actúan como copia de seguridad de la réplica principal.
- La réplica principal informa a todas las demás réplicas de respaldo sobre cualquier modificación realizada.
- La respuesta se devuelve al cliente mediante una réplica principal.
- Periódicamente, la réplica principal envía alguna señal a las réplicas de respaldo para informarles que funciona perfectamente bien.
- En caso de falla de una réplica principal, una réplica de respaldo se convierte en la réplica principal.
ventajas:
- El consumo de recursos es menor ya que los servidores de respaldo solo entran en juego cuando falla el servidor principal.
- La complejidad temporal de esto también es menor, ya que no es necesario actualizar todas las réplicas de los Nodes, a diferencia de la replicación activa.
Desventajas:
- Si ocurre alguna falla, el tiempo de respuesta se retrasa.