Está en la página 1de 1

ZOOKEEPER

TRANSMISION ATOMICA
En el corazón de ZooKeeper se encuentra un sistema de mensajería
atómica que mantiene todos los servidores sincronizados.

GARANTÍAS
Las garantías específicas que ofrece el sistema de mensajería utilizado por ZooKeeper son las
siguientes:
Entrega confiable
Si un mensaje, m, es entregado por un servidor, eventualmente será entregado por todos los
servidores.
Orden total
Si un servidor entrega un mensaje antes que el mensaje b, todos los servidores entregarán a
antes que b. Si a y b son mensajes entregados, a se entregará antes que b o b se entregará
antes que a.
orden causal
Si se envía un mensaje b después de que el remitente de b haya entregado un mensaje a, se
debe pedir a antes que b. Si un remitente envía c después de enviar b, c debe ordenarse
después de b.

PROPIEDADES
Nuestro protocolo asume que podemos construir canales FIFO punto a punto entre
los servidores. Si bien los servicios similares generalmente asumen la entrega de
mensajes que pueden perder o reordenar mensajes, nuestra suposición de canales
FIFO es muy práctica dado que usamos TCP para la comunicación. Específicamente
nos basamos en la siguiente propiedad de TCP:

entrega ordenada
Los datos se entregan en el mismo orden en que se envían y un mensaje m se
entrega solo después de que se hayan entregado todos los mensajes enviados
antes de m. (El corolario de esto es que si se pierde el mensaje m, se perderán
todos los mensajes posteriores a m).

No hay mensaje después de cerrar


Una vez que se cierra un canal FIFO, no se recibirán mensajes de él.

DEFINICIONES
FLP demostró que no se puede lograr el consenso en sistemas distribuidos asincrónicos si es posible que
haya fallas. Para asegurarnos de lograr un consenso en presencia de fallas, usamos tiempos de espera.
Sin embargo, confiamos en los tiempos para la vivacidad, no para la corrección. Por lo tanto, si los
tiempos de espera dejan de funcionar (los relojes funcionan mal, por ejemplo), el sistema de mensajería
puede bloquearse, pero no violará sus garantías.
Al describir el protocolo de mensajería de ZooKeeper, hablaremos de paquetes, propuestas y mensajes:
Paquete
una secuencia de bytes enviados a través de un canal FIFO
Propuesta
una unidad de acuerdo. Las propuestas se acuerdan intercambiando paquetes con un quórum de
servidores de ZooKeeper. La mayoría de las propuestas contienen mensajes, sin embargo, la propuesta
NEW_LEADER es un ejemplo de una propuesta que no corresponde a un mensaje.
Mensaje
una secuencia de bytes que se transmitirá atómicamente a todos los servidores de ZooKeeper. Un
mensaje incluido en una propuesta y acordado antes de entregarlo.

MENSAJERIA
La mensajería de ZooKeeper consta de dos fases:
Activación de líder
En esta fase un líder establece el estado correcto del
sistema y se prepara para empezar a hacer propuestas.
mensajería activa
En esta fase, un líder acepta mensajes para proponer y
coordina la entrega de mensajes.

También podría gustarte