1、前景回顾
在上一章《API网关Kong系列三】 – 战前预热》 中我们已经对Service服务的定义做了解释,在这我们在回顾下。
服务(SERVICE)实体,正如其名称所示,是您自己的UPSTREAM服务的抽象。服务的示例将会是数据转换微服务、计费API等。
服务的主要属性是它的URL(在这里,Kong应该代理流量),它可以被设置为单个字符串,或者通过单独指定其协议、主机、端口和路径。
服务与路由相关联(服务可以有许多与之相关联的路由)。路由是在Kong的入口点,并定义了匹配客户端请求的规则。一旦匹配了路由,Kong就会将请求委托给它的相关服务。
本章我们来学习下SERVICE服务API的使用。
2、业务场景
本示例中,将向Kong 添加API, 为此,首先需要添加一个服务(Service),就是Kong 用来指定代它管理的上游API和微服务的名称。
处于测试目的,我们将创建一个指向Mockbin API 的服务(Mockbin是一个“echo”类型的公共网站,它将返回请求的请求作为响应返回给请求者。这有助于了解Kong如何代理您的API请求)
再开始向服务发送请求之前,需要为其添加路由,路由指定请求在到达Kong 之后如何发送到其它服务。单个服务可以创建多个路由。
3、SERVICE API
3.1 创建SERVICE
以发送cURL请求的方式,调用Kong的Admin API.
示例: 创建 一个SERVICE (指向Mockbin API)并添加到 Kong
$ curl -i -X POST \
—url http://localhost:8001/services/ \
--data 'name=example-service' \
--data 'url=http://mockbin.org'
响应类似如下信息说明创建成功
HTTP/1.1 201 Created
Content-Type: application/json
Connection: keep-alive
{
"host":"mockbin.org",
"created_at":1519130509,
"connect_timeout":60000,
"id":"92956672-f5ea-4e9a-b096-667bf55bc40c",
"protocol":"http",
"name":"example-service",
"read_timeout":60000,
"port":80,
"path":null,
"updated_at":1519130509,
"retries":5,
"write_timeout":60000
}
到这 一个简单的SERVICE服务就创建完成了。下面我们来介绍下SERVICE的其它API
3.2 SERVICE API 详解
3.2.1 添加SERIVCE
请求地址 | /services |
请求方式 | POST |
请求主体 | |
name (可选) | 服务名称 |
protocol | 该协议用于upstrean通信。可以是http(默认)或者 https |
host | Upstream 服务器主机 |
port | 服务器端口,默认80 |
path(可选) | 在向Upstream服务器请求中使用的路径。默认为空 |
retries(可选 | 在代理失败的情况下执行重试次数,默认为5 |
connect_timeout(可选) | 建立Upstream服务器连接的超时间默认为60000 |
write_timeout(可选) | 将请求发送到Upstream服务器的两个连接之间写操作超时时间,默认60000 |
read-time(可选) | 将请求发送到Upstream服务器的两个连接之间读操作超时时间,默认60000 |
url(简写属性) | 将协议、主机、端口和路径设置成简单的属性。这个属性是只写的(管理API从不返回url) |
3.2.2 查找Service
请求地址 | /services |
请求方式 | GET |
参数 | |
(name or id ) 必填 | 检索的唯一标示或者服务名称 |
3.2.3 查找Service列表
请求地址 | /services |
请求方式 | GET |
参数 | |
Offset | 分页游标 |
size(可选默认100 最大1000) | 每页显示的条数 |
3.2.4 更新Service
请求地址 | /services/{name or id } |
请求方式 | PATCH |
参数 | |
(Name or id )必填_ | 要更新服务的id或者name |
3.2.4 删除Service
请求地址 | /services/{name or id } |
请求方式 | DELETE |
参数 | |
(Name or id )必填_ | 要删除的服务的那么或者id |
到这SERVICE的API基本介绍完了。
4、总结
本章主要介绍SERVICE的增删改查的API。
描述了一个业务场景,同时创建了一个指向Mockbin API的Service.
下一章我们会根据上述的业务场景和Service来创建路由。
想了解更多关于Kong网关的请移步
>>>>> 企业级API网关Kong