Este artículo analizará en detalle el concepto del Protocolo de compromiso atómico. El protocolo de compromiso atómico garantiza la propiedad de atomicidad de una transacción en la que todas las transacciones se completan o no en el sistema.
Transacciones distribuidas:
La transacción distribuida se refiere a la transacción en la que están involucrados varios servidores. Un cliente llama a varios servidores en Transacción distribuida simple, mientras que un servidor llama a otro servidor en Transacción anidada. La ejecución de una transacción en muchos sitios debe confirmarse en todos los sitios o cancelarse en todos los sitios. Pero este no debería ser el caso de que la transacción se confirme en un sitio y se anule en otro sitio. Los sistemas de sitios distribuidos utilizan reglas de compromiso distribuidas para garantizar la atomicidad entre los sitios. El compromiso atómico es un canal de necesidad de cooperación a través de una variedad de sistemas.
Propiedades Esenciales de las Transacciones Distribuidas:
Las transacciones distribuidas deben poseer las siguientes propiedades ACID, como cualquier otra transacción. En los sistemas distribuidos, se utiliza un administrador de transacciones para coordinar las distintas operaciones y luego confirmar/deshacer la transacción según sea necesario.
- Atomicidad: Todos los cambios de datos se tratan como si fueran una sola operación. Es decir, o se realizan todas las modificaciones, o no se realiza ninguna. La característica de atomicidad asegura que si se realiza con éxito un débito de una cuenta, el crédito correspondiente se realiza en la otra cuenta en una aplicación que transfiere dinero de una cuenta a otra.
- Consistencia: esta propiedad implica que cuando una transacción comienza y finaliza, el estado de los datos es consistente. Por ejemplo, asegura que el valor permanezca constante al inicio y al final de una transacción en una aplicación que transfiere fondos de una cuenta a otra.
- Aislamiento: en esta propiedad, las transacciones que se ejecutan simultáneamente parecen estar serializadas. Por ejemplo, la propiedad de aislamiento asegura que los fondos transferidos entre dos cuentas puedan ser vistos por otra transacción en cualquiera de las cuentas, pero no en ambas o en ninguna.
- Durabilidad: los cambios en los datos persisten cuando una transacción se completa con éxito y no se deshacen, incluso si el sistema falla. Asegura que las modificaciones realizadas a cada cuenta no serán revertidas en una aplicación que transfiere dinero de una cuenta a otra.
Coordinación en Transacciones Distribuidas:
En el momento de la coordinación en Transacciones Distribuidas, uno de los servidores se convierte en coordinador, y el resto de los trabajadores se convierten en coordinadores.
- En una transacción simple, el primer servidor actúa como Coordinador.
- En la transacción anidada, el servidor de nivel superior actúa como Coordinador.
- Función del coordinador: el coordinador realiza un seguimiento de los servidores participantes, recopila los resultados de los trabajadores y toma una decisión para garantizar la coherencia de las transacciones.
- Papel de los trabajadores: los trabajadores conocen la existencia del coordinador y, además, comunican su resultado al coordinador y luego siguen la decisión del coordinador.
Compromiso atómico:
El procedimiento de confirmación atómica debe cumplir los siguientes requisitos:
- Todos los participantes que hacen una elección llegan a la misma conclusión.
- Si algún participante decide comprometerse, todos los demás participantes deben haber votado sí.
- Si todos los participantes votan sí y no ocurre ninguna falla, entonces todos los participantes deciden comprometerse.
Compromiso distribuido de una fase: un protocolo de compromiso de una fase involucra a un coordinador que se comunica con los servidores y realiza cada tarea regularmente para informarles que deben realizar o cancelar acciones, es decir, transacciones.
Confirmación distribuida en dos fases: hay dos fases para que funcione el procedimiento de confirmación:
Fase 1: Votación
- El coordinador envía un «mensaje de preparación» a cada trabajador participante.
- El coordinador debe esperar hasta que se reciba una respuesta de cada trabajador, ya sea que esté listo o no, o hasta que se agote el tiempo de espera.
- Los trabajadores deben esperar hasta que el coordinador envíe el mensaje de «preparar».
- Si una transacción está lista para comprometerse, se envía un mensaje de «listo» al coordinador.
- Si una transacción no está lista para comprometerse, se envía un mensaje de «no» al coordinador y se cancela la transacción.
Fase 2: Finalización del resultado de la votación
- En esta fase, el Coordinador verificará el mensaje de “listo”. Si cada trabajador envió un mensaje de «listo», solo se envía un mensaje de «compromiso» a cada trabajador; de lo contrario, envíe un mensaje de «abortar» a cada trabajador.
- Ahora, espere el reconocimiento hasta que se reciba de cada trabajador.
- En esta fase, los trabajadores esperan hasta que el coordinador envíe un mensaje de «compromiso» o «abortar»; luego actuar de acuerdo al mensaje recibido.
- Finalmente, los Trabajadores envían un acuse de recibo al Coordinador.
Publicación traducida automáticamente
Artículo escrito por annieahujaweb2020 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA