We are using a spring boot actuator for exposing liveness and readiness endpoints when running in the Kubernetes cluster. By default, the spring-boot actuator exposes the endpoint on the default standard HTTP server port where the request is served by Tomcat/Jetty server acceptor and worker thread pools. We recently ran into an issue during our stress testing where all threads in the worker pool were busy and new requests were getting queued. This caused the pod to crash in the Kubernetes cluster as the liveness probes started failing.
I am considering exposing the actuator on the management port. I wanted to check on the following
a) Are the requests on the management port served a separate worker thread pool (from that of the standard server port )?
b) If the answer to a) is no, is there a way I can configure spring boot to use a separate thread pool for management port (we are using tomcat/jetty and reactive netty servers across our different micro services)