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

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.

主站蜘蛛池模板: 呈贡县| 喜德县| 南康市| 陵水| 曲靖市| 盐源县| 乌什县| 普格县| 南陵县| 吕梁市| 道真| 鄱阳县| 宣武区| 灌阳县| 娄底市| 余姚市| 石屏县| 通州市| 天水市| 临澧县| 普陀区| 皮山县| 阳高县| 江北区| 营山县| 门头沟区| 鄂伦春自治旗| 独山县| 霍州市| 平南县| 东源县| 九龙城区| 长子县| 刚察县| 双牌县| 海宁市| 衡阳市| 来宾市| 安陆市| 苍梧县| 浦县|