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

一、前景回顾

在上一章《API网关Kong系列三】 - 战前预热》 中咱们已经对Service服务的定义作了解释,在这咱们在回顾下。json

服务(SERVICE)实体,正如其名称所示,是您本身的UPSTREAM服务的抽象。服务的示例将会是数据转换微服务、计费API等。segmentfault

服务的主要属性是它的URL(在这里,Kong应该代理流量),它能够被设置为单个字符串,或者经过单独指定其协议、主机、端口和路径。服务器

服务与路由相关联(服务能够有许多与之相关联的路由)。路由是在Kong的入口点,并定义了匹配客户端请求的规则。一旦匹配了路由,Kong就会将请求委托给它的相关服务。app

本章咱们来学习下SERVICE服务API的使用。curl

二、业务场景

本示例中,将向Kong 添加API, 为此,首先须要添加一个服务(Service),就是Kong 用来指定代它管理的上游API和微服务的名称。

处于测试目的,咱们将建立一个指向Mockbin API 的服务(Mockbin是一个“echo”类型的公共网站,它将返回请求的请求做为响应返回给请求者。这有助于了解Kong如何代理您的API请求)微服务

再开始向服务发送请求以前,须要为其添加路由,路由指定请求在到达Kong 以后如何发送到其它服务。单个服务能够建立多个路由。学习

三、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的其它APIurl

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基本介绍完了。

四、总结

本章主要介绍SERVICE的增删改查的API。
描述了一个业务场景,同时建立了一个指向Mockbin API的Service.
下一章咱们会根据上述的业务场景和Service来建立路由。

想了解更多关于Kong网关的请移步 >>>>> 企业级API网关Kong
相关文章
相关标签/搜索