villainfinite.blogg.se

Atutor install hangs on db
Atutor install hangs on db




I disagree with a few statements in the answer that received the bounty, especially because a lot changed in Spring Boot since: There is a way to configure a "readiness" health group to contain a custom set of health checks for your particular use case. Spring Boot will synchronize the Readiness state with the lifecycle of the application (the web app has started, the graceful shutdown has been requested and we shouldn't route traffic anymore, etc).

atutor install hangs on db

As you've mentioned, some health checks might show the state of essential parts of the application, some others not. The Readiness probe is really about the ability for the application to serve traffic. As you've underlined in your question, failing here as soon as an external system is unavailable can be dangerous: the platform might recycle all application instances depending on that external system (maybe all of them?) and cause cascading failures, since other systems might be depending on that application as well.īy default, the liveness proble will reply with "Success" unless the application itself changed that internal state. The Liveness should only fail when the internal state of the application is broken and we cannot recover from it. It's been used that way quite a lot since Spring Boot didn't have better to offer here. The /health endpoint was never really designed to expose the application state and drive how the cloud platform treats the app instance it and routes traffic to it. Your question is spot on and this was discussed at length in the Spring Boot issue for the Liveness/Readiness feature. Is there a recommended best practice for this type of thing?Īs of Spring Boot 2.3, the Availability state of the application (including Liveness and Readiness) is supported in the core and can be exposed as Kubernetes Probes with Actuator. The app itself will most likely not be very useful if the DB is down, but parts may still work potentially I suppose. With readiness, I'm thinking it might cause the pool of available apps to be 0 if the DB is down.

atutor install hangs on db

With liveness, I'm thinking it might start recycling the pods/containers over and over even though (in the case the DB is down) it might not fix anything. Since these services use a database connection, and the actuator health indicator will report status as down if it can't make a connection, will that not be such a good idea? My original thinking was that checking the path would be useful (at least for readiness) so that traffic wouldn't be sent to it until Spring has started up and is capable of handling requests. I was planning on setting the probePaths for the liveness & readiness check to both point at the actuator health endpoint, but was wondering if that may not be the best option. I'm building a few Spring Boot microservices that are getting deployed in a Kubernetes (AKS specifically) cluster.






Atutor install hangs on db