Replicación
Replicación
Replicación
y tolerancia a fallas
1. I ntroduccIón
2r eplIcacIón
• Transparencia.
• Consistencia.
SiStemaS diStribuidoS
• Gestor de réplicas.
• Frontal (front-end).
1. La petición es enviada por el frontal a uno o más gestores con las si-
guientes opciones:
• Se envía la petición a un gestor y este la reenvía a otros.
• Multidifundir la petición a varios gestores.
2. Los gestores se coordinan para ejecutar la petición de manera consistente.
Los tipos de ordenación para que los gestores manipulen las réplicas son:
• Ordenamiento FIFO.
• Ordenamiento casual.
• Ordenamiento total.
3. Se ejecuta la petición, la cual podría ser realizada de manera tentativa.
4. Se llega a un acuerdo o consenso antes de consumar la ejecución.
5. Uno o más gestores de réplicas entrega una respuesta al frontal.
1. Petición.
2. Coordinación.
3. Ejecución.
4. Acuerdo.
5. Respuesta.
Al igual que la replicación pasiva, una replicación activa tiene las siguien-
tes fases de ejecución [Coulouris et al., 2012]:
r eplicación , conSiStencia y tolerancia a fallaS
1. Petición.
2. Coordinación.
3. Ejecución.
4. Acuerdo.
5. Respuesta.
Sin embargo, las actividades que se realizan en cada fase difieren sustan-
cialmente de las actividades que se hacen en la replicación pasiva. Durante
la fase de petición, el frontal multidifunde la petición a los gestores usando
multidifusión fiable y de ordenación total. No se envía otra petición hasta
que se reciba la respuesta a la petición actual. El sistema de comunicación
durante la fase de coordinación entrega la petición a todos los gestores
según una ordenación total. Entonces, cada gestor realiza la fase para eje-
cutar la petición. La fase de acuerdo no es necesaria, debido a que se utiliza
multidifusión. Finalmente, en la fase de respuesta, cada gestor manda su
respuesta al frontal. El número de respuesta que recibe el frontal está en
función de las asunciones de falla y del algoritmo de multidifusión.
En la replicación activa, la tolerancia a fallas está soportada principal-
mente por la multidifusión fiable y totalmente ordenada. La multidifusión
es equivalente a un algoritmo de consenso, por lo que la replicación activa
permite resolver fallas bizantinas. Esto se debe a que el frontal recoge f+1
respuestas iguales antes de responder al cliente.
3c onsIstencIa
• Consistencia de actualización.
• Consistencia de replicación.
• Consistencia de caché.
• Consistencia de reloj.
Los modelos de consistencia para los datos compartidos son a menudo difí-
ciles de implementar de manera eficiente en los sistemas distribuidos a gran
escala [Tanenbaum & Van Steen, 2008]. Además, en muchos casos se pueden
SiStemaS diStribuidoS
utilizar modelos más simples, que también son a menudo más fáciles de
implementar. Un modelo de consistencia es un contrato en los procesos y
el almacenamiento de datos. Es decir, si los procesos acuerdan obedecer
ciertas reglas, entonces el almacenamiento promete trabajar correctamente.
Normalmente, una operación de lectura debe retornar la última actualiza-
ción del dato. Los modelos de consistencia pueden ser:
• Consistencia momentánea.
• Lecturas monotónicas.
• Escrituras monotónicas.
• Lea sus escrituras.
• Las escrituras siguen a las lecturas.
4. t olerancIa a Fallas
• Fallas en hardware:
• Son generalmente fallas permanentes o transitorias en los compo-
nentes del hardware.
• Fallas permanentes o transitorias en los subsistemas de comunicación.
• Fallas en software:
• Se originan por especificaciones inadecuadas.
• Fallas introducidas por errores en el diseño y programación de com-
ponentes de software.
SiStemaS diStribuidoS
• Disponibilidad.
• Confiabilidad.
• Seguridad.
• Mantenimiento.
• Transitorias.
• Intermitentes.
• Permanentes.
lado, las fallas permanentes son aquellas fallas que permanecen hasta que el
componente se repare o sustituya, por ejemplo, los errores de software o la
rotura de una tarjeta de video. Finalmente, las fallas intermitentes se refieren
a aquellas fallas transitorias que ocurren de vez en cuando, por ejemplo, el
calentamiento de algún componente de la computadora.
Las fallas más serias son las arbitrarias o bizantinas. Cuando estas fallas
ocurren, los clientes deben de estar preparados para lo peor. Este problema
suele conocerse en la literatura como el problema de los Generales Bizanti-
nos, que fue planteado originalmente por Lamport et al. [1982].
4.4 Redundancia
ejercIcIos