ZooKeeper

Sistema Distribuido

Un Sistema Distribuido tiene sus componentes de software funcionando simultáneamente en múltiples computadoras conectadas en red. Una de las principales razones para distribuir los componentes de un sistema es permitir replicar cierta funcionalidad (componente) para poder ejecutarla de manera paralela en varios equipos y así incrementar la capacidad del sistema. 

Este tipo de sistemas requieren mecanismos que faciliten la coordinación entre componentes. En general, existen dos enfoques para implementar estos mecanismos: el paso de mensajes entre componentes y el uso de algún tipo de almacenamiento compartido.

ZooKeeper

ZooKeeper (ZK) es un software de código abierto que facilita la coordinación entre los componentes de un Sistema Distribuido empleando el enfoque del almacenamiento compartido. 

En esencia, ZK ofrece un servicio de almacenamiento jerárquico clave-valor que ofrece ciertas garantías y que puede ser empleado por los componentes de un Sistema Distribuido para guardar y/o ser notificados de los cambios en datos necesarios para implementar los mecanismos de coordinación que se necesiten (detección de caídas de sistema, elección de líder, locks, etc.).

En el siguiente vídeo demuestra cómo detectar la caída de un componente en un Sistema Distribuido:

Referencias

Código en GitHub

Apache Curator

Comments are closed.