¿Qué es la consistencia eventual?

La consistencia eventual es un modelo de programación en el que los programadores suponen que durante un período de tiempo lo suficiente y sin cambios en un sistema, la versión actual de un programa en particular eventualmente se distribuirá hasta que cada réplica del programa sea consistente. El concepto de consistencia eventual se utiliza en métodos de programación como replicación optimista, memoria compartida distribuida y transacciones distribuidas. Con respecto a las bases de datos, la consistencia eventual se logra a través de un proceso de tres pasos. Primero, la información distribuida está disponible en el sistema; Esto es seguido por un estado suave, en el que diferentes usuarios aún pueden estar trabajando con diferentes versiones de los datos; y finalmente se logra la consistencia, y todas las computadoras tienen acceso a datos idénticos.

Una de las formas más visibles que se aplica la consistencia que se aplica tiene que ver con las actualizaciones de software distribuidas en línea. Durante los primeros segundos después de que se lance una actualización, nadie la tendrá; no es suficiente tiMe ha pasado para los usuarios del software para descargar e instalar la actualización. Este es el estado "disponible"; La actualización existe, pero aún no se ha distribuido. Con el tiempo, a medida que los usuarios descarguen la actualización, algunos la tendrán y otros no. Sin embargo, después de haber pasado suficiente tiempo, todos los que usan el software se habrán actualizado a la última versión. Esta es la premisa detrás del estado de consistencia eventual: dado el tiempo suficiente, cualquier actualización se propagará completamente en todo el sistema.

Como el sistema funciona hacia una consistencia eventual, los conflictos son inevitables. Estos ocurren cuando la versión o información del programa actualmente en la computadora no coincide con la "versión del modelo" del programa. Los programas generalmente se configuran para reconocer tales conflictos y administrarlos. Cuando los archivos en una computadora específica son más antiguas que la última versión del modelo del software o los datos en cuestión, el sistema generalmente solicitaráel usuario para iniciar una actualización para resolver la disparidad.

Están disponibles tres métodos posibles para efectuar estas resoluciones: reparar reparación, reparación de lectura y reparación asincrónica. Todos estos métodos ponen en línea la versión del programa o datos con el modelo consistente. La diferencia clave entre estos tiene que ver con la forma en que el sistema multiplica la operación de reparación. Todas esas operaciones tienen beneficios y inconvenientes.

En una reparación de escritura, los cambios en el código almacenado en la computadora se realizan durante una operación de escritura, cuando la computadora ya está escribiendo algo en el disco duro del sistema. Esto repara la inconsistencia, alinando el programa o los datos en línea con el modelo, pero también ralentiza temporalmente la operación de escritura original. Para una reparación de lectura, la operación correctiva ocurre durante un ciclo de lectura desde el disco duro. Esto, a su vez, ralentiza la operación de lectura. En la reparación asincrónica, la reparación se lleva a cabo cuando no se produce una operación de lectura ni escritura, lo que lleva al CONSUSUME DE CICLOS ACTIVOS EN LA CPU.

OTROS IDIOMAS