Health Checks
Health checks can be used to monitor the health of the application and its dependencies. This module provides 3 endpoints:
/health: Returns the health of the application. This endpoints does check upstream dependencies, so should only be used for debugging purposes./health/liveness: Is used to determine if the application is running. If this endpoint returns a 200 status code, the application is considered alive. This endpoint does not check any upstream dependencies./health/readiness: Is used to determine if the application is ready to serve requests. This endpoint does not check any upstream dependencies.
Background
Checking Dependencies in Readiness Checks
Directly tying your application's readiness checks to third-party system availability is generally not recommended, especially if their downtime would prevent apps from scaling or deploying. While it may seem logical to check all dependencies, this approach was not taken due to significant reliability and operational risks. As such, ARK does not include third-party service checks in its readiness checks.
Fallback Strategies
Each connector and platform is its own microservice, and if one third-party service is unavailable, other services will continue to function as expected.
However, if that third party is needed for a critical function and is unavailable, the application will return errors back to the client.
Advanced fallback strategies such as caching and queuing are not implemented in ARK currently - however are on the roadmap for future releases.