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

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.

主站蜘蛛池模板: 林口县| 灵宝市| 陇南市| 揭西县| 南康市| 蒙阴县| 泉州市| 扶风县| 芜湖市| 湖北省| 永泰县| 锡林浩特市| 民县| 修水县| 北海市| 西林县| 嵊州市| 黄浦区| 得荣县| 木兰县| 扶风县| 新蔡县| 乐陵市| 临沂市| 万全县| 且末县| 资中县| 义乌市| 陆川县| 天长市| 嘉荫县| SHOW| 万山特区| 定日县| 永州市| 东乌珠穆沁旗| 木兰县| 天全县| 萝北县| 文水县| 古浪县|