Te lleva a comprender rápidamente Zookeeper

Entendiendo Zookeeper

¿Por qué necesitamos Zookeeper?

Para resumirlo en una oración: parece un sistema independiente pero más confiable que un sistema independiente

1. Agrupamiento, confiable
2. Cuando la información no ha sido sincronizada, no se brinda servicio externo
3. El tiempo de sincronización es más corto
. Se resuelven principalmente dos problemas:
(1), se evita la falta de confiabilidad de una sola máquina
(2), En el caso de varios nodos, comprima el tiempo de sincronización tanto como sea posible.

La historia de nacimiento de Zookeeper:

ZooKeeper nació en un grupo de investigación del Instituto de Investigación de Yahoo. Al principio, los investigadores encontraron que muchos sistemas a gran escala dentro de Yahoo requieren un sistema similar para la coordinación distribuida, y estos sistemas a menudo tienen problemas de un solo punto. Es decir, una forma de valor clave escrito en memoria y utilizarlo como coordinador distribuido. Una vez que se agita la máquina, todo el sistema se cae, por lo que los desarrolladores de Yahoo esperan desarrollar algo así: un marco de coordinación distribuido sin un único punto de problema, que se centre en procesar la lógica empresarial.

La definición más oficial de Zookeeper de sí mismo:

Un servicio de coordinación distribuida para aplicaciones distribuidas

En términos simples:

Zookeeper es un sistema de coordinación de aplicaciones distribuidas de rendimiento conjunto de código abierto, una solución de coherencia de datos distribuidos de alto rendimiento.

Zookeeper depende de Java para ejecutarse, por lo que depende de nuestro jdk. Como todos sabemos, los servicios de coordinación son más difíciles de hacer, porque cuando coordinamos con múltiples nodos, somos propensos a problemas de comunicación y concurrencia, que pueden ocurrir. El problema del bloqueo y la motivación detrás de Zookeeper es reducir la carga de los programadores durante esta parte del desarrollo.

1 、 Guardián del zoológico

5 características principales (hacer que Zookeeper se destaque, hay softwares con las mismas o similares funciones que Zookeeper, pero no tienen estas 5 características principales, o hacen que ZooKeeper sin las nuestras sea eficiente, para que nuestro Zookeeper gane en la competencia)

1. Consistencia de secuencia (Zookeeper se divide en cliente y servidor. Como cliente, tenemos algunos mensajes enviados al servidor. En qué orden los enviamos, él los ejecutará uno a uno en orden.
2 , Atomicidad (si hay una solicitud para actualizar el contenido, este contenido se sincronizará con todos los nodos inmediatamente, esta sincronización es consistente. O toda la sincronización es exitosa o ninguna de ellas)
3. Vista única (independientemente de nuestra conexión de cliente ¿qué Zookeeper es que, lo que ves es lo mismo)
4. Fiabilidad (escribir datos en el nodo, a continuación, se mantendrán estos datos, hasta que haya otra operación para escribir estos datos a cabo, puede ser enviada al cambio)
5 , Oportunidad (Zookeeper puede garantizar que dentro de un cierto período de tiempo, y este período de tiempo no será muy largo, debe asegurarse de que el cliente pueda leer el estado de los datos más recientes del servidor dentro de este período de tiempo)

Son estas 5 características las que hacen que Zookeeper sea fácil de usar y de excelente rendimiento.

2. Arquitectura de clúster

Diagrama de arquitectura

3. La relación entre Zookeeper y CAP

CP : Consistencia + tolerancia a fallas de partición

Se pueden obtener resultados de datos consistentes y el sistema es tolerante a fallas en la red,
pero no puede garantizar la disponibilidad de cada solicitud de servicio.

El motivo por el que Zookeeper elige CP en lugar de AP está estrechamente relacionado con su función. El propio Zookeeper es el papel más importante de los servicios de coordinación distribuida. Su responsabilidad es garantizar los datos y mantener la sincronización y la coherencia entre todos los servicios, por lo que c está fuera Para su propósito, se ha convertido en una necesidad. Si Zookeeper elige AP en lugar de C, hará que sus nodos sean inconsistentes, lo que causará consecuencias muy aterradoras, porque él mismo proporciona información muy importante y consistente al exterior, pero ahora una vez que ocurren algunos problemas menores. , Hará que diferentes personas pregunten por mí, y lo devolveré con diferentes resultados.

4. El papel del guardián del zoológico (cinco tipos) (el guardián del zoológico es un software intermedio, utilizado principalmente para sistemas distribuidos)

1. Registro y suscripción de servicio distribuido
2. Archivo de configuración unificado
3. Generación de identificación única distribuida
4. Elección de nodo maestro
5. Bloqueo distribuido

Supongo que te gusta

Origin blog.csdn.net/Turniper/article/details/109988669
Recomendado
Clasificación