La aplicación SpringBoot se reinicia correctamente - Actuador
La característica más importante de SpringBoot es simplificar la configuración, mejorar la eficiencia del desarrollo y lograr una implementación simple mediante la incorporación de un contenedor web, como Tomcat, Jettty, etc.
Para las aplicaciones SpringBoot, solo necesita empaquetarlas en un paquete Jar simple y luego ejecutar java -jar para comenzar. Esta es una forma muy elegante, pero también oculta algunos problemas, como: Cómo. para utilizar la aplicación? Para las aplicaciones Java tradicionales (aplicaciones que no son Spring Boot) implementadas en contenedores, puede usar los scripts proporcionados por el contenedor para reiniciarse correctamente. Sin embargo, el contenedor de la aplicación SpringBoot está integrado, por lo que no habrá scripts de contenedor. Para finalizar el proceso, pero esto es muy poco elegante. La terminación forzada del proceso provocará la pérdida de datos o el terminal no podrá restaurarse a su estado normal. En un entorno distribuido, también puede provocar inconsistencia de datos.
SpringBoot proporciona varios métodos de detención. Este artículo se centra en el método del punto final del actuador. El capítulo Puntos finales del documento oficial de SpringBoot presenta varias características de la preparación de la producción del lanzamiento de la aplicación A través del punto final HTTP del Actuador. supervise y administre aplicaciones fácilmente.
Después de configurar como se indica arriba, el proyecto SpringBoot se puede cerrar correctamente. Simplemente simule una solicitud POST y acceda a la siguiente ruta en Postman u otras herramientas.
Nota: reemplácela con el host de su propio proyecto. y el puerto, deben ser posteriores
Volver
Indica que la aplicación SpringBoot se ha cerrado correctamente
Aunque la aplicación SpringBoot se puede cerrar correctamente, todavía hay una gran problema Riesgos de seguridad Si alguien conoce la IP y el número de puerto, puede simular la solicitud y detener el servicio. Por lo tanto, es necesario agregar algunas restricciones de seguridad
Inicie sesión en el servidor donde se encuentra la aplicación SpringBoot. implemente y ejecute POST localmente a través de curl.
Luego puede obtener el siguiente resultado
Significa que la aplicación SpringBoot se ha detenido de forma elegante y segura.
kill -9 pid no emite ningún juicio de espera. Se puede entender que el sistema operativo mata por la fuerza un proceso desde el nivel del kernel, lo que puede simularse como una falla del sistema, un punto de interrupción del sistema y otras situaciones especiales.
kill -15 pid es esperar a que la aplicación se cierre y realizar operaciones de bloqueo. A veces también puede haber situaciones en las que la aplicación no se puede cerrar (idealmente, si hay un error en línea, se debe rastrear la fuente)