Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 第三方健康端点最佳实践_Spring_Spring Boot_Spring Mvc_Spring Boot Actuator_Health Monitoring - Fatal编程技术网

Spring 第三方健康端点最佳实践

Spring 第三方健康端点最佳实践,spring,spring-boot,spring-mvc,spring-boot-actuator,health-monitoring,Spring,Spring Boot,Spring Mvc,Spring Boot Actuator,Health Monitoring,我正在开发一个应用程序,并将spring boot应用程序用于我的健康端点,我的应用程序正在与我需要包含在健康检查中的多个第三方服务交互,问题是当服务没有响应时,我会一直等待,直到ping超时,以便我知道它们不可用,这需要很长时间,我想避免这种情况 一个解决方案是并行运行所有服务的检查,这将大大减少超时情况下的时间,但仍然存在一个超时瓶颈。 另一个解决方案是定期(使用调度程序)在后台检查服务,并缓存检查的最后结果,这样当监视器请求健康信息时,健康端点将返回兑现的结果 还有更实际的解决办法吗?或者

我正在开发一个应用程序,并将spring boot应用程序用于我的健康端点,我的应用程序正在与我需要包含在健康检查中的多个第三方服务交互,问题是当服务没有响应时,我会一直等待,直到ping超时,以便我知道它们不可用,这需要很长时间,我想避免这种情况

一个解决方案是并行运行所有服务的检查,这将大大减少超时情况下的时间,但仍然存在一个超时瓶颈。 另一个解决方案是定期(使用调度程序)在后台检查服务,并缓存检查的最后结果,这样当监视器请求健康信息时,健康端点将返回兑现的结果


还有更实际的解决办法吗?或者,对于这种情况,是否有任何已知的最佳实践?

我想发布我是如何标记此问题的:

由于该应用程序依赖于第三方,并且没有与这些第三方的连接,因此该应用程序被视为不起作用(不是微服务),因此无法避免检查这些第三方的运行状况

为了解决这个问题,我做了以下工作:

1-识别关键第三方,应用程序连接到不同的第三方,其中有些是关键的,有些不是(很可能这将涉及业务决策),因此识别关键第三方很重要,因为我将非关键第三方排除在健康检查之外

2-定期检查关键第三方的运行状况并将其缓存,ofc这将导致获取运行状况的延迟,因此应商定检查周期,对我来说,可以有一个小的延迟(3分钟),因此这是我的周期间隔