He encontrado algunas soluciones interesantes de este article con respecto a Cero tiempo de inactividad. Me gustaría resaltar solo algunas soluciones en ese artículo.
1. Un conmutador A/B: (balanceo de actualización + mecanismo de repliegue)
Debemos tener un conjunto de nodos en pie por el modo. Implementaremos la nueva versión en esos nodos y les cambiaremos el tráfico al instante. Si mantenemos los nodos antiguos en su estado original, también podríamos hacer una reversión instantánea. Un equilibrador de carga se encuentra frente a la aplicación y es responsable de este cambio a pedido.
contras: si necesita servidores X para ejecutar su aplicación, Yon necesitan servidores 2X con este enfoque.
2. Cero tiempo de inactividad
Con este enfoque, no mantenemos un conjunto de máquinas; más bien, retrasamos el enlace del puerto. La adquisición de recursos compartidos se retrasa hasta que se inicia la aplicación. Los puertos se cambian después de que se inicia la aplicación, y la versión anterior también se ejecuta (sin un punto de acceso) para retroceder instantáneamente si es necesario.
3. despliegue paralelo - Apache Tomcat: (Para aplicaciones web solamente)
Apache Tomcat ha añadido la característica de implementación paralela a su liberación de la versión 7. Permiten que se ejecuten dos versiones de la aplicación al mismo tiempo y toman la última versión como predeterminada.
4. enlace de puerto retardados:
que proponemos aquí es la capacidad de iniciar el servidor sin la unión del puerto y esencialmente sin iniciar el conector. Más tarde, se iniciará un comando por separado y vinculará el conector. La versión 2 del software se puede implementar mientras la versión 1 se está ejecutando y ya está encuadernada. Cuando la versión 2 se inicie más tarde, podemos desvincular la versión 1 y enlazar la versión 2. Con este enfoque, el nodo estará efectivamente fuera de línea solo durante unos segundos.
5. avanzados del puerto de unión:
Al romper el mito: ‘Address already in use
’, * tanto antiguo proceso & nuevo proceso se unirá al mismo puerto. SO_REUSEPORT opción en modo ON permite que dos (o más) procesos se vinculen al mismo puerto. Una vez que el nuevo proceso se une al puerto, elimine el proceso anterior.
Los SO_REUSEPORT dirección de una opción de dos cuestiones:
El pequeño fallo de conmutación entre la versión de la aplicación: el nodo puede garantizar el tráfico todo el tiempo, con eficacia que nos da el tiempo de inactividad cero.
mejor programación:

En resumen:
Mediante la combinación de ambos tarde unión y puerto reutilización, podemos lograr efectivamente cero tiempo de inactividad. Y si mantenemos el proceso en espera, también podremos hacer una reversión instantánea.