Replicacion
Sistemas Distribuídos
Objetivos
Aumentar la disponibilidad
Mejorar los tiempos de respuesta
Incrementar la tolerancia a fallas
Candidatos a replicación
Datos (por ejemplo, una base de
datos críticos)
Servicios:
Comunicaciones
Servicio de nombres
Servicio de archivos
Recursos en general
Concepto
Replicación es el mantenimiento de
copias on-line de datos yotros
recursos, a fin de alcanzar mejor
perfomance, alta disponibilidad y
tolerancia a fallas
Ejemplos de replicación en Internet:
El servicio DNS
El Servicio USENET (Internet News)
Mejoras en la perfomance
Múltiples clientes accediendo a un solo
servidor lo transforman en un cuello de
botella: por encima de un nro. máximo
de requerimientos por segundo, el
tiempo medio de respuesta caesignificativamente
Múltiples servidores atendiendo a
subconjuntos de clientes permiten
mejorar el tiempo medio de respuesta
Mejoras en la disponibilidad
Datos replicados en dos servidores
independientes, conectados a la red
por vínculos independientes
permiten seleccionar al otro servidor
ante la falla de uno cualquiera de
ellos o de su enlace
Mejoras en la disponibilidad
Supongamos nservidores replicados,
cada uno con una probabilidad p de
falla independiente. La disponibilidad
de los datos será:
d = 1 - (prob. todos los serv en falla) = 1 pn
Tolerancia a Fallas
Tipos de falla cubiertos por la
replicación:
Fallas bizantinas o arbitrarias
(resultados incorrectos)
Fallas de parada: un componente entra
en un estado de falla detectable
Tolerancia a Fallas
Una réplicacualquiera podrá seguir
prestando servicio ante la falla de otra
Un conjunto de réplicas puede
producir un dato correcto mediante
una elección por mayoría, frente a
fallas aleatorias en una cualquiera de
las réplicas
Requerimientos
Transparencia de replicación:
Los clientes no deben tener percepción de
la existencia de múltiples copias físicas del
objeto referenciado nombre único y
conjuntode resultados único
Consistencia:
Las mismas operaciones sobre los mismos
objetos hechas por distintos clientes deben
producir idénticos resultados
Operaciones de acceso a
objetos
read: lectura del estado de un objeto
(no lo modifica)
write: cambio del estado de un
objeto (lo modifica) también llamada
update u overwrite
Operaciones de lectura
Leer uno (primario)
lectura
Leer uno
Leerquorum
Operaciones de escritura
Escribir uno (primario)
Sobreescribir
Escritura
Escribir todos
Escribir todos los disponibles
Leer y modificar Escribir un quorum
Escribir Gossip
Modelos de Replicación
Asíncrono:
Todos los requerimientos de un cliente
son atendidos por su servidor local (el
mas cercano en términos de red)
El ordenamiento de las operaciones
puede diferir entreréplicas.
Cuando un servidor procesa un update
desde un cliente local lo propaga al resto
de los servidores de réplica
Modelos de Replicación
Sincrónico total:
Todo requerimiento de update se procesa
en orden temporal
Sólo cuando todas las réplicas procesaron
la operación, el control retorna al cliente
Es un modelo de consistencia estricta, en
el cual los tiempos de respuesta son
mayores alasíncrono
Técnicas de diseño
Los esquemas reales utilizan un punto
intermedio entre el modelo asíncrono
y el sincrónico total:
Esquemas basados en quorum: requieren
la participación de un subconjunto de las
réplicas activas
Esquemas basados en causalidad:
imponen ordenamiento sólo a las
operaciones que lo requieren.
Modelo Arquitectural
Front Ends
cliente
FE
Servicio
replicado
AR
ARcliente
FE
Requerimientos
y respuestas
AR
Administradores
de réplica
Componentes del modelo
Clientes: procesos usuarios del servicio
Front-Ends: responsable de la
comunicación con uno o mas AR’s,
abstraen al cliente de la
implementación del servicio
Administradores de réplica: procesos
que contienen las réplicas y efectúan
operaciones directamente sobre ellas
Implementación I: Gossip...
Regístrate para leer el documento completo.