Capítulo 2. Familiarizarse con ZooKeeper
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
En el capítulo anterior se trataron los requisitos de las aplicaciones distribuidas a alto nivel y se argumentó que suelen tener requisitos comunes de coordinación. Hemos utilizado el ejemplo del maestro-trabajador, que es representativo de una amplia clase de aplicaciones prácticas, para extraer algunas de las primitivas de uso común que allí describimos. Ahora estamos preparados para presentar ZooKeeper, un servicio que permite implementar dichas primitivas para la coordinación.
Conceptos básicos de ZooKeeper
Varias primitivas utilizadas para la coordinación se comparten habitualmente en muchas aplicaciones. En consecuencia, una forma de diseñar un servicio utilizado para la coordinación es elaborar una lista de primitivas, exponer llamadas para crear instancias de cada primitiva y manipular estas instancias directamente. Por ejemplo, podríamos decir que los bloqueos distribuidos constituyen una primitiva importante y exponer llamadas para crear, adquirir y liberar bloqueos.
Sin embargo, un diseño así adolece de un par de defectos importantes. En primer lugar, tenemos que elaborar de antemano una lista exhaustiva de las primitivas utilizadas, o seguir ampliando la API para introducir nuevas primitivas. En segundo lugar, no da flexibilidad a la aplicación que utiliza el servicio para implementar las primitivas de la forma ...
Get ZooKeeper now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.