Skip to content

Allow health indicators to be run asynchronously with the health endpoint providing a view of their current state #25459

Open
@rfelgent

Description

@rfelgent

Hello,

it would be great that spring boot actuator provides a locking/semaphore/mutex logic out-of-the box to prevent its endpoints from flooding.
I have the "actuator/health" especially in mind, as this endpoint is extendable by custom HealthIndicators with potential problems. One of my HealthIndicators caused a long running task by invocing another service/repository (in the end: a missing response/connection timeout fixed the trouble to some degree). As the calculation took so long, my monitoring system (consul) fired more requests in order to get a state. But that only flooded my system...

Currently, there is a cache logic implemented for the actuator endpoints: once the value is calculated it will be cached. The missing piece for me is the semaphor/lock mechanism for not yet calculated (or obsolete/invalidated) values of actuator endpoints. This feature would help to avoid a flooding of the system.

I was wondering if such a feature could be provided by SpringBoot Actuator (like the caching...) and wanted to reach you out before implementing a custom solution on my own...

Best regards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions