Código de disponibilidad continua
Las aplicaciones logran una disponibilidad continua cuando el mantenimiento planificado, las interrupciones no planificadas y los desequilibrios de carga de la base de datos están ocultos de la aplicación. Una combinación de las mejores prácticas de la aplicación, la configuración sencilla y Oracle Autonomous Database garantizan que sus aplicaciones estén disponibles de forma continuada.
El mejor enfoque para ocultar las actividades de mantenimiento planificadas de sus aplicaciones es vaciar de forma transparente el trabajo de cada ubicación de carga de trabajo de la base de datos antes que la ventana de mantenimiento de esa ubicación de carga de trabajo. Los pools de conexiones y los niveles intermedios de Oracle, incluidos WebLogic Server, Oracle Universal Connection Pool (UCP), el pool de sesiones de OCI y el proveedor no gestionado de ODP.NET, tienen constancia de Fast Application Notification (FAN) y, por lo tanto, reciben una notificación antes de que se programe que se muevan los servicios de base de datos para permitir el drenaje de trabajo controlado antes del mantenimiento. La notificación FAN dispara automáticamente el cierre de conexiones inactivas, la apertura de nuevas conexiones en la nueva ubicación del servicio y permite un tiempo configurable para que el trabajo activo se complete en la ubicación del servicio que se va a cerrar en breve. Los principales niveles intermedios de JDBC de terceros, como IBM WebSphere, permiten el mismo comportamiento cuando se configuran con UCP. Para aplicaciones basadas en JDBC que no pueden utilizar UCP, Oracle proporciona soluciones con controladores de Oracle y pruebas de conexión.
Para ocultar interrupciones no planificadas resultantes de un fallo de comunicación o componente, Oracle proporciona:
-
Notificación. FAN es el primer paso para ocultar interrupciones. FAN notifica a los clientes y los retira de su espera de red actual cuando se produce una interrupción. Esto evita el estancamiento de las aplicaciones para largas esperas de red. Es importante destacar que FAN también llama al reequilibrio de sesiones cuando los servicios vuelven a estar disponibles.
-
Recuperación. Una vez que se notifica al cliente, la continuidad de aplicaciones transparente (TAC) o la continuidad de aplicaciones (AC) reestablece una conexión a una nueva ubicación de carga de trabajo (otra instancia de base de datos en la configuración de Real Application Clusters (RAC) que ejecuta la base de datos) y vuelve a reproducir el trabajo en curso (no confirmado) cuando es posible. Al reproducir el trabajo en curso en la nueva ubicación, la aplicación puede seguir ejecutándose sin saber que se ha producido un fallo.
TAC o AC también se ejecuta durante el mantenimiento planificado para las sesiones que no se vacían (completan la operación de base de datos actual) durante el intervalo de vaciado asignado.