Pregunta

Estaba buscando en memcached como una forma de coordinar un grupo de servidores, pero encontré Apache's ZooKeeper en el camino. Parece interesante, y Yahoo lo usa, por lo que no debería ser malo, pero nunca había oído hablar de eso antes, así que soy un poco escéptico. ¿Alguien más lo ha intentado? ¿Algún comentario o idea?

¿Fue útil?

Solución

ZooKeeper y Memcached tienen diferentes propósitos. Puede usar memcached para hacer la coordinación del servidor, pero tendrá que hacer la mayor parte de este trabajo usted mismo. Memcached solo permite la coordinación, ya que almacena en caché búsquedas de datos comunes para ser utilizadas por varios clientes. Al leer la documentación de ZooKeeper, tiene un enfoque mucho más amplio que esto. ZooKeeper parece proporcionar soporte para la agrupación de servidores, que no es lo mismo que la agrupación de caché que proporciona memcached.

Eche un vistazo al Linux Journal de Brad Fitzpatrick artículo en memcached para tener una mejor idea de lo que yo media.

Otros consejos

Para obtener una visión general de lo que Zookeper es capaz, mira la siguiente presentación de sus creadores. Es capaz de mucho más (crear colas, elegir procesos maestros entre un grupo de pares, configuraciones de tiempo de ejecución de alto rendimiento distribuido, puntos de encuentro para procesos desunidos, determinar si los procesos aún se están ejecutando, etc.).

http://zookeeper.sourceforge.net/index.sf.shtml

Para responder a su pregunta, si " coordinación " es lo que está buscando Zookeeper está mucho mejor dirigido a eso que memcached.

Zookeeper es excelente para coordinar datos entre servidores. Hace un buen trabajo al ordenar cada transacción y garantiza que las transacciones sucedan en orden. Sin embargo, al entrar por primera vez, la documentación apesta; es muy 'de alto nivel' sin suficientes ejemplos concretos o explicaciones sobre cómo manejar adecuadamente ciertos eventos. Uno de los ejemplos incluidos (a partir de la versión 3.3.3) tenía sus propios errores.

Su código también deberá tener en cuenta las interacciones controladas por eventos y las interacciones de sondeo. Con una arquitectura distribuida masivamente, al actuar sobre 'eventos' puede crear una estampida inadvertidamente que no podría ser deseable para su entorno (efecto de pastoreo).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top