官术网_书友最值得收藏!

The Health Check protocol and wire format

The MP-HC specification defines the requirement to support the HTTP GET requests against a logical /health REST endpoint that may return any one of the following codes to represent the endpoint's status:

  • 200: It is up and healthy.
  • 500: It is unhealthy due to an unknown error.
  • 503: It is down and not ready to respond to requests.

Note that many cloud environments simply look at the request return code as either success or failure, so the differentiation between a 500 and 503 code may not be distinguishable.

The payload of a /health request must be a JSON object that matches the schema given in the following (for more information on the JSON schema syntax see http://jsonschema.net/#/).

Following is the JSON schema for MicroProfile Health Check responses:

{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"outcome": {
"type": "string"
},
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"state": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string|boolean|int"
}
}
}
},
"required": [
"name",
"state"
]
}
}
},
"required": [
"outcome",
"checks"
]
}

So, an MP-HC response consists of a JSON object that contains a status property of the string type and a checks property of the array of objects type. The checks array object type consists of a required name and status string, along with an optional data object that contains optional key and value pairs. In the next section, we will see how a microservice specifies a health check response.

主站蜘蛛池模板: 左权县| 潮安县| 普宁市| 福鼎市| 蓬安县| 莎车县| 吕梁市| 密云县| 乌拉特前旗| 枣阳市| 漳浦县| 宁陵县| 武山县| 会理县| 文昌市| 铁岭县| 新绛县| 左贡县| 肥东县| 武威市| 靖江市| 布尔津县| 姚安县| 泰州市| 习水县| 迁西县| 孟津县| 远安县| 昌都县| 南宫市| 清流县| 黔江区| 林西县| 北宁市| 蒙阴县| 大荔县| 本溪| 弋阳县| 应城市| 兖州市| 阳新县|