service object ってなんだろう
前回は kong の service を追加した。ドキュメントによると、
サービスエンティティは、その名前が示すように、独自のアップストリームサービスのそれぞれの抽象化です。サービスの例としては、データ変換マイクロサービス、請求APIなどがあります。
とあるが、よくわからない
api object ってなんだろう
こことか見るとapiオブジェクトを操作している。
ドキュメントによると
Note: The API entity was deprecated in Kong 0.13.0. It is strongly recommended to migrate your APIs to Routes and Services.
とあり api オブジェクトは使わないほうがよさそうだ。
route object ってなんだろう
ドキュメントによると
Routeエンティティは、クライアント要求に一致するルールを定義します。各ルートはサービスに関連付けられており、サービスには複数のルートが関連付けられている場合があります。特定のルートに一致するすべてのリクエストは、関連するサービスにプロキシされます。
- サービスとルートは関連付けられている
- サービスには複数のルートがある場合がある
以前はapiだったものを整理(サービスとルートに分割)し、複数ルートをまとめたものをサービスと呼ぶようにしたのかな。 たしかに前回は、サービス追加・ルート追加の2段階だった。
ルートオブジェクトの確認
なるほどなーと思いつつ、これでルートオブジェクトを確認できた。
$ curl -s http://localhost:8001/services/example-service/routes | jq .
{
"next": null,
"data": [
{
"strip_path": true,
"tags": null,
"updated_at": 1568807708,
"destinations": null,
"headers": null,
"protocols": [
"http",
"https"
],
"created_at": 1568807708,
"snis": null,
"service": {
"id": "ae3c5ee9-3d44-49bc-8869-1f7f0f58afc1"
},
"name": null,
"preserve_host": false,
"regex_priority": 0,
"id": "72a9d29f-6571-43c3-beef-c02e6ccbf699",
"sources": null,
"paths": null,
"https_redirect_status_code": 426,
"hosts": [
"example.com"
],
"methods": null
}
]
}