Colección de citas famosas - Slogan de motivación - Proceso central del algoritmo 4.ZAB

Proceso central del algoritmo 4.ZAB

El código fuente de comunicación cliente-servidor es demasiado complicado. No obtuve mucho al mirar el código fuente relacionado con las elecciones antes, así que no voy a ver esta parte. Código fuente ahora. Lo compensaré cuando tenga tiempo en el futuro. El proceso de elección anterior ya mencionó la comunicación entre el cliente y el servidor, y el servidor la maneja a través de CnxnChannelHandler. Este artículo resume principalmente cómo Zookeeper garantiza la coherencia de los datos.

4. El seguidor recibe el mensaje de confirmación y confirma sus propios datos de memoria.

1. La propuesta de transacción tiene un ID único que aumenta globalmente, llamado ID de transacción (ZXID), que es requerido por el protocolo ZAB Para garantizar el orden de las transacciones, cada transacción debe ordenarse según ZXID y luego procesarse, principalmente a través de la cola de mensajes.

2. Solo el servidor Leader puede aceptar solicitudes de escritura. Incluso si el servidor Follower acepta la solicitud de escritura del cliente, se reenviará al servidor Leader para su procesamiento.

ZAB define 2 principios:

Al mismo tiempo:

1. Los 32 bits inferiores pueden considerarse como un simple contador incremental, para cada cliente. En cada solicitud de transacción, el Líder generará una nueva Propuesta de transacción y realizará una operación +1 en el mostrador.

2. Los 32 bits altos representan el ZXID de la propuesta de transacción más grande en el registro local en el servidor Leader, y el valor de época correspondiente (ciclo de elección de líder) se analiza a partir del ZXID cuando hay una nueva ronda. Después de la elección, este valor aumentará en uno y el ID de la transacción aumentará de 0.