Comments (10)
from rfc-healthcheck.
from rfc-healthcheck.
Yeap, I think Erik's "status" link rel would be the one. We should reference it somehow from this spec.
from rfc-healthcheck.
@todo: reference status link rel from the spec.
from rfc-healthcheck.
Have you considered using well-known URIs (with associated registry) and include a registration for a well known URI /.well-known/health
?
from rfc-healthcheck.
Since the RFC defines content format and not the address (e.g. in Kubernetes the format would be used by two endpoints for liveness checks and readiness checks), these kind of things may only be defined in an FAQ section of the RFC as the additional suggestions.
That said, speaking of well-known URIs specifically, the spec has been standard for over 8 years but I personally haven't seen it in common usage. Is it just me? What are some prominent usages of well-known URIs that you know?
from rfc-healthcheck.
Off the top of my head ACME Challenges stands out as the one big success story. The well-known registry itself has numerous entries, so presumably it's being used, but like with ACME challenges, in places where we don't notice.
Registering a .well-known name is just a nice way of "getting out of the way" of the primary namespace of the host, and might ease discoverability by way of a management server simply ask GET /.well-known/health
without having to discover the resource URI; an origin is enough. Either it gets an application/health+json
document, or it doesn't.
from rfc-healthcheck.
from rfc-healthcheck.
I am not arguing against using links to discover the health of a system, because I do recognise that an API might want to link to a health resource to allow clients of that API to react accordingly. (For example, api.example.com
might have a link to health.example.com/api
to report on the API's health.)
However, I also see situations where you have a large set of heterogeneous components (e.g. APIs, web pages, caches) that might have little in common when it comes to media types (home documents), but that might all (because of an internal service policy) expose some notion of health using application/health+json. Having to go through some home document to look for the health resource seems wasteful, since these various services might have different "home documents", some might not even have room for a home document that supports a link with this relation.
If this spec registered health
in the well-known registry, it could make it a lot easier to deploy health checks to a lot of components where linking does not make sense.
from rfc-healthcheck.
from rfc-healthcheck.
Related Issues (20)
- Fix text describing the checks object key
- AffectedEndpoints should be optional
- output in checks should also be omitted for healthy status HOT 1
- Is links a JSON object or an array?
- cassandra:connections[0] uses 'type' instead of 'componentType' HOT 1
- Do statuses have a 1:1 relationship to HTTP response codes? HOT 13
- Explicitly allow or disallow extra keys in "component details" objects
- Add structured "impacts" field for graceful degradation
- Add node to "known" check fields
- Guarantee structure of health/check object relationship
- Fix "notes" and "output" fields in example
- "affectedEndpoints" field should be optional HOT 2
- Rename additional-keys additional-properties
- Should additional-properties be allowed in the health object?
- Introduce componentType that refers a health check service for recursive health checking HOT 7
- Must links also return application/health responses? HOT 3
- Ability to provide HTTP verb for affectedEndpoints HOT 5
- "Additional Keys" instead of `details` is difficult for Java
- Git commit hash and service build time information
- Status code definition HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rfc-healthcheck.