kong service, routes
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 } ] }