Lo que es empleado del zoológico qué hacer con

En primer lugar, ¿cuál es el cuidador del zoológico

  ZooKeeper es una, de código abierto del servicio de coordinación distribuida para aplicaciones distribuidas, es una implementación de código abierto del rechoncha de Google, es un componente clave de Hadoop y hbase. Es para proporcionar un servicio consistente para aplicaciones distribuidas, proporciona características incluyen: mantenimiento de la configuración, el servicio de nombres de dominio, la sincronización distribuida, los servicios de grupos.

  En términos simples, empleado del zoológico = + monitor de sistema de archivos mecanismo de notificación

 

En segundo lugar, el sistema de archivos

  cuidador del zoológico tiene con el sistema de archivos de Linux similares, la diferencia es, el directorio de Linux es un directorio, el archivo es el archivo. El cuidador del zoológico sólo un concepto znode sí mismo puede servir como un "archivo" para almacenar ciertos datos, sino también como existen "directorio".

/ * 
   + --- + 
   | / | 
   + - + - + 
     | 
     | + ------ + 
     + - | config | 
     | + - + --- + 
     | | + ----- + 
     | + ----- | ip | 
     | | + ----- + 
     | | + ----- + 
     | + ----- | puerto | 
     | + ----- + 
     | 
     | + ------ + 
     + - | aplicaciones | 
        + - + --- + 
           | ----- + + 
           + ----- | app1 | 
           | + ----- + 
           | ----- + + 
           + ----- | app2 | 
                 + ----- + 
* /

  znode divide en cuatro categorías:

  1, PERSISTENT- persistencia nodo de directorio

    Este nodo después el cliente se desconecta de la guarda del zoo, todavía tienen que tomar la iniciativa de eliminar.

  2, el nodo directorio persistente PERSISTENT_SEQUENTIAL- número de secuencia

    Del mismo modo, dichos nodos también tienen que tomar la iniciativa para eliminar, no va a terminar con el cliente desconecta y se retira. La diferencia es que con PERSISTENT, zookeeper tales nodos serán contados. Tales como: app0000003362.0000003362 para el cuidador del zoológico al número automáticamente incrementos.

  3, el nodo directorio temporal EPHEMERAL-

    PERSISTENTE la diferencia es que estos nodos serán eliminados después el cliente se desconecta del cuidador del zoológico.

  4, el nodo directorio temporal EPHEMERAL_SEQUENTIAL- numerada secuencialmente

    Y PERSISTENT_SEQUENTIAL número similar tiene cuidador del zoológico automática, se eliminará la diferencia después de que el cliente y el empleado del zoológico desconectado.

 

  Es de destacar que, bajo el mismo camino, el mismo nombre znode sólo puede crearse una vez. Y cada znode puede almacenar un máximo de datos de 1M.

En tercer lugar, escuchar mecanismo de notificación

  El cliente registra su preocupación al nodo de directorio de monitor, cuando cambia el directorio de nodos (se borran los datos de cambio, eliminar los aumentos de nodos subdirectorio), empleado del zoológico le notificará al cliente.

 

En cuarto lugar, la aplicación práctica

  Basado en el sistema de archivos y el mecanismo de notificaciones del supervisor, empleado del zoológico tiene muchos escenarios de aplicación.

  1. Servicio de nombres (basado en el sistema de archivos)

    En nombre de todos los sistemas informáticos juega un papel importante, que se utilizan para compartir recursos, para identificar de forma única la entidad, la ubicación del punto. objeto nombrado puede tener muchos tipos y puede ser utilizado para acceder a una gran variedad de servicios. servidor de nombres puede ser la dirección de un determinado recurso o nombres de objeto a localizar y obtener información acerca de la propiedad. (Baidu Enciclopedia)

    En pocas palabras, para obtener la dirección del recurso / servicio correspondiente por su nombre. El único uso de znode puede crear un nodo global, la información correspondiente se graba en el znode. Tenemos que utilizar los servicios de recursos que corresponden directamente para obtener información a este nodo.

  2, Gestión de la Configuración (basado en el sistema de archivos y el mecanismo de notificación monitor)

    El servicio tiene su propia configuración, pero con las implementaciones de servicios múltiples. Si la forma del perfil, modificar la configuración en el tiempo, necesidad de sincronizar todos los archivos en la máquina, y luego notificar a la extensión de la carga dinámica, o simplemente reiniciar el sistema. Si este es el caso, hay una configuración de toda acción entre bastidores (información de enrutamiento, etc.), pero en una versión modificada, solamente necesita ser sincronizado a un servicio (expansión, aumentar los nodos de aguas abajo, etc.). Después de mucho tiempo, habrá diferentes condiciones de servicio de configuración diferente (a pesar de que están al día para los departamentos que están utilizando). En este punto puede resolver este problema mediante la configuración del centro, todas las configuraciones se leen desde el centro de configuración, gestión unificada.

    Para lograr su propio centro de distribución, después de todo, tiene un precio. El uso zookeeper, se puede lograr configuración totalmente funcional del centro. Correspondiente información almacenada en el znode correspondiente, el servicio sólo necesita escuchar para configurar su propio interés (znode). Una vez que los cambios znode, notificar a todos los oyentes utilizan este cliente znode observador (por empleado del zoológico, al servicio de su cliente), con el fin de actualizar la configuración.

  3, la gestión de clusters (basado en el mecanismo de sistema de archivos y notificaciones del supervisor)

    Cuando un servicio se implementa en el clúster, habrá dos cuestiones: la máquina de unirse y de salida, la elección principal. Puede crear cuidador del zoológico en una znode persistente A, luego dejar que todo esto racimo de servicios para crear un znode B temporal en A, la necesidad de conocer el servicio a escuchar a este grupo A. Cuando la adición de nuevas máquinas, creando un nuevo B, dejando a la máquina de edad (tiempo de inactividad, la reducción de volumen, etc.), eliminado automáticamente B. Ya sea para crear o eliminar, A han cambiado, notifica el uso del vigilante de todos los oyentes. Así que todos sabemos que la situación de este grupo.

    Para la elección maestro, el mismo puede crear un znode persistente C en el cuidador del zoológico, y luego un número secuencial para todos los servicios para crear un directorio temporal en el nodo C. Cada vez que seleccione Sin máximo o mínimo como un maestro. A medida que se incrementa el número de orden provisional número de nodo de catálogo, si se ha seleccionado como el más grande maestro, cuando se añade una máquina nueva, la nueva máquina será el maestro. Y seleccionar el número mínimo como maestro, con tal de que no se cierra (znode no se elimina), no tiene que dominar el interruptor de la situación, la información es la más segura.

  4, bloqueo distribuido (basado en el sistema de archivos y el mecanismo de notificación monitor)

    Hay un programa, hay dos hilos, se han realizado operaciones de 100w veces ++ en las mismas variables. Sin ser bloqueado, y el resultado no es el 200w. Del mismo modo, en un clúster, si modifica los mismos recursos al mismo tiempo, la situación parecería cubrir entre sí. En este punto, es necesario utilizar un bloqueo distribuido para hacer frente a este tipo de problemas. Para modificar este recurso antes de comenzar, primero obtener un bloqueo. Puede ser modificado después de la operación para tener éxito. Debido a la singularidad empleado del zoológico, znode, que se puede utilizar para implementar el servicio de bloqueo distribuido. Cuando la necesidad de obtener un bloqueo, crear znode (numeración no automáticas) en la ruta especificada, cuando la necesidad de liberar, pasa este znode. Si la creación falla, los otros servicios que la corriente tiene que captar la cerradura.

    Si numeración znode no automático creado, habrá un problema. Cada vez que el bloqueo de grupo de todos los que compiten por el mismo servicio, no será un servicio para agarrar la situación varias veces, mientras que otros servicios no son un éxito. En este caso, puede ser modificado para znode numeración automática y el snoop znode padres. Cada vez que necesite para que se bloquee automáticamente crear un znode numerada. Si ha creado znode el número más pequeño de todos los znode, creo que agarran la cerradura. Después de desbloqueo (znode de borrado), informará a todo el clúster. Esto no sólo va a lograr un bloqueo distribuido, y para todos, de una manera ordenada.

    

 

Quinto, enlaces de referencia

  https://blog.csdn.net/u010963948/article/details/83381757

  https://www.cnblogs.com/lfs2640666960/p/11104838.html

  https://blog.csdn.net/java_66666/article/details/81015302

  https://blog.csdn.net/chunqiu3351/article/details/100762270

  https://www.jianshu.com/p/d4fb16fafc2e

 

Supongo que te gusta

Origin www.cnblogs.com/chinxi/p/12640059.html
Recomendado
Clasificación