Un número de época es el número total de operaciones que se han originado en una determinada réplica.
En la Figura 2 de Seguimiento de las operaciones para cada réplica, el número de época para boston_hub es
950.
El esquema de sincronización de
MultiSite intenta minimizar la cantidad de datos transmitidos entre réplicas.
Cada réplica realiza el seguimiento de estos números de época:
- Cambios efectuados en la réplica actual. El número de operaciones que se originaron
en la réplica actual.
- Cambios en réplicas iguales que se han importado a la réplica actual. Cuando syncreplica escribe una operación de un paquete de actualización en la réplica actual, incrementa el número de época que registra el número de operaciones que se originaron en la réplica igual que se ha importado en la réplica actual.
- Estimaciones de los estados de las demás réplicas. Para cada una de las demás réplicas,
una estimación de sus propios cambios y los cambios de las demás réplicas. La réplica actual realiza
el seguimiento de las operaciones que ha enviado a las demás réplicas y presupone que
estas operaciones se han importado satisfactoriamente.
La
Tabla 1 muestra cómo estos números de
época forman una matriz de números de época. Cada réplica mantiene su propia matriz, revisando
sus propias filas mientras se va trabajando localmente y mientras se van intercambiando paquetes de actualización con otras réplicas.
- Cuando se produce trabajo en la réplica boston_hub, se incrementa su propio número de época.
- Cuando la réplica boston_hub recibe una actualización de sanfran_hub,
revisa su propia fila (boston_hub) y la fila de sanfran_hub en la matriz de números de época.
- Cuando la réplica boston_hub genera un paquete de actualización para enviarse a
sanfran_hub, revisa la fila de sanfran_hub en la matriz de números de época.
Un mandato syncreplica –export actualiza cada número de época
inmediatamente. No espera hasta recibir el acuse de recibo de la réplica de importación de que se
ha recibido y aplicado correctamente el paquete. Durante el proceso de MultiSite normal, no es necesaria la intervención manual para mantener la precisión de las matrices de números de época para varias réplicas. No obstante, la imposibilidad de aplicar un paquete puede requerir la intervención manual.
Tabla 1. Matriz de números de época de dos filas en la réplica boston_hub |
Operaciones originadas en boston_hub |
Operaciones originadas en sanfran_hub |
Registro de boston_hub en su propio estado |
950 |
504 |
Estimación de boston_hub del estado de sanfran_hub |
912 |
504 |
El contenido de esta
matriz lo notifica el mandato
lsepoch en la réplica
boston_hub :
multiutil lsepoch -clan telecomm -site boston_hub -family PRODA -user bostonadmin -password secret
Multiutil: Estimates of the epochs from each site replayed at site ’boston_hub’ (@minuteman):
boston_hub: 950
sanfran_hub: 504
Multiutil: Estimates of the epochs from each site replayed at site ’sanfran_hub’ (@goldengate):
boston_hub: 912
sanfran_hub: 504
Un mandato
syncreplica –export especificado en
boston_hub utiliza esta matriz
tal como se indica a continuación para generar una actualización destinada a
sanfran_hub: - En la réplica boston_hub, el número de operaciones locales es 950
(el número situado en la parte superior izquierda de la matriz), y la estimación es que la réplica sanfran_hub ha
importado todas las operaciones a través del ID de oplog 912 (el número situado en la parte inferior izquierda).
- El paquete de actualización que la réplica boston_hub envía a la réplica sanfran_hub incluye
las entradas de oplog 913-950 de boston_hub. Después de que el administrador de Boston invoque
syncreplica –export, la fila de sanfran_hub se actualiza:
multiutil lsepoch -clan telecomm -site boston_hub -family PRODA -user lexadmin -password secret
Multiutil: Estimates of the epochs from each site replayed at site ’boston_hub’ (@minuteman):
boston_hub: 950
sanfran_hub: 504
Multiutil: Estimates of the epochs from each site replayed at site ’sanfran_hub’ (@goldengate):
boston_hub: 950
sanfran_hub: 504