Introducción al modelo del sistema Zookeeper

Tabla de contenido

1. Modelo de datos

Dos, el tipo de nodo

(1) Nodos persistentes

(2) Nodos secuenciales persistentes

(3) Nodos temporales

(4) Nodos secuenciales temporales 

3. Línea de comando del cliente

(1) Crear un nodo

(2) Leer información del nodo

(3) eliminar

Cuarto, verifique el estado del nodo

5. Mecanismo de seguimiento

(1) Supervisar los cambios de nodo

(2) Supervisar los cambios de valor del nodo

6. Control de permisos de ACL

(1) Modo de permiso

(2) Objeto de autoridad

(3) Autoridad

(4) Comandos relacionados con permisos


1. Modelo de datos

 Los datos almacenados en Zookeeper se componen de znodes. Los znodes también pueden llamarse nodos.
Almacenan datos en forma de pares clave-valor. La estructura de datos general es similar a un árbol. Se puede
comparar con el modo de sistema de archivos de Linux. La ruta comienza con / .
Tenga en cuenta que se dice que almacena datos en forma de pares clave-valor, y la clave es la
ruta del nodo del znode, como /first

Dos, el tipo de nodo

El nodo zookeeper tiene un ciclo de vida, que depende del tipo de nodo. Los tipos de nodos se dividen en nodos persistentes, nodos temporales y nodos de temporización. Específicamente, se pueden generar los siguientes cuatro tipos de nodos

(1) Nodos persistentes

 Después de que se crea el nodo de datos, existe en el servidor de zookeeper hasta que haya una operación para borrar activamente el nodo

(2) Nodos secuenciales persistentes

En consonancia con los nodos persistentes, pero con una función adicional, cada nodo principal mantendrá una secuencia para sus nodos secundarios de primer nivel y registrará el orden en que se creó cada nodo secundario.

(3) Nodos temporales

 Es temporal y no se almacenará en el servidor de zookeeper todo el tiempo. Es decir, si la sesión falla, el nodo se borrará automáticamente. Tenga en cuenta que la sesión no es válida en lugar de que la conexión esté desconectada. Al mismo tiempo, también se debe tener en cuenta que no se pueden crear nodos secundarios bajo el nodo temporal

(4) Nodos secuenciales temporales 

 Las características básicas son consistentes con los nodos temporales, y las características secuenciales también se agregan sobre la base de los nodos temporales.

3. Línea de comando del cliente

(1) Crear un nodo

crear -s ruta (clave) + datos (valor)
crear -e ruta (clave) + datos (valor)

-s: nodo secuencial (el valor predeterminado es el nodo persistente sin opción)
-e: nodo temporal

Ejemplo: crear -s /java opop

(2) Leer información del nodo

ls+path puede conocer el nodo debajo de la ruta
get+path puede conocer el contenido de los datos y la información de atributos del nodo especificado
set+path+data (valor) para modificar el valor correspondiente a la llamada clave
Ejemplo: ls /
get / conjunto java
/ asas java

(3) eliminar

eliminar+ruta
Ejemplo: eliminar /java
Tenga en cuenta que si el nodo contiene nodos secundarios, se informará un error

Cuarto, verifique el estado del nodo

Use el comando stat para ver el estado del nodo

状态属性               说明
czxid            表示该数据节点被创建时的事务ID
mzxid            表示该节点最后一次被更新时的事务ID
pzxid            表示该节点的子节点列表最后一次被修改时的事务ID
ctime            表示该节点的创建时间
mtime            表示该节点最后一次被更新的时间
version          数据节点的版本号
cversion         子节点的版本号
aversion         节点的ACL版本号
ephemeralOwner    创建该临时节点的回话SessionID,若该节点是持久节点,那么该属性就是0
dataLength        数据内容的长度
numChildren        当前节点的子节点个数

5. Mecanismo de seguimiento

(1) Supervisar los cambios de nodo

Si el comando ls -w path usa watch, lo que se monitorea es el cambio del nodo, no el cambio del valor.

Nota: un host usa el mecanismo de monitoreo y el otro host crea nodos

 

(2) Supervisar los cambios de valor del nodo

El mecanismo de monitoreo get -w path watch solo se puede usar una vez. Si desea usarlo la próxima vez, debe escucharlo nuevamente. Por ejemplo, el comando ls path watch solo puede monitorear el cambio de la ruta del nodo una vez. Si desea para monitorear nuevamente, debe ejecutar ls nuevamente el comando path watch

 

6. Control de permisos de ACL


Modo de permiso de control de permisos de ACL + objeto de permiso + permiso

Establezca permisos para cada nodo znode, los nodos secundarios no heredarán los permisos del nodo principal,
el cliente no tiene derecho a acceder a un nodo, pero puede acceder a sus nodos secundarios

(1) Modo de permiso

mundo Solo hay un usuario: cualquiera, que representa a todos (predeterminado)
uso de ip autenticación de dirección IP
uso de autenticación autenticación de usuario autenticado agregado
uso de resumen uso de nombre de usuario: autenticación de contraseña

(2) Objeto de autoridad

La IP suele ser una dirección IP o un segmento de IP, por ejemplo: "192.168.66.121"
Compendio personalizado, generalmente "nombre de usuario: BASE64 (SHA-1 (nombre de usuario: contraseña))" El
mundo solo tiene una ID: cualquiera
Súper consistente con el modo Resumen

(3) Autoridad

Permiso ACL Abreviatura Descripción
CREAR c Puede crear nodos secundarios
ELIMINAR d Puede eliminar nodos secundarios (solo nodos de nivel inferior)
LEER r Puede leer datos de nodos y mostrar la lista de nodos secundarios
ESCRIBIR w Puede establecer datos de nodos
ADMIN a Puede establecer permisos de lista de control de acceso a nodos


(4) Comandos relacionados con permisos

getAcl leer permiso de ACL
setAcl establecer permiso
addauth agregar usuario de autenticación

 

Supongo que te gusta

Origin blog.csdn.net/gaoqiandr/article/details/130395429
Recomendado
Clasificación