【发布时间】:2021-01-12 02:42:12
【问题描述】:
当在 Kubernetes 集群中运行时,我们使用 spring boot 执行器来暴露活性和就绪端点。默认情况下,spring-boot 执行器在默认的标准 HTTP 服务器端口上公开端点,其中请求由 Tomcat/Jetty 服务器接受器和工作线程池提供服务。我们最近在压力测试期间遇到了一个问题,工作池中的所有线程都处于忙碌状态,并且新请求正在排队。这导致 pod 在 Kubernetes 集群中崩溃,因为 liveness probe 开始失败。
我正在考虑将执行器暴露在管理端口上。我想检查以下内容
a) 管理端口上的请求是否服务于单独的工作线程池(与标准服务器端口的工作线程池不同)?
b) 如果 a) 的答案是否定的,有没有办法可以配置 spring boot 以使用单独的线程池作为管理端口(我们在不同的微服务中使用 tomcat/jetty 和响应式 netty 服务器)
【问题讨论】:
标签: spring-boot spring-boot-actuator