【API网关Kong系列四】- 玩转Service服务

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

相关推荐