玩转SERVICE服务 - 玩转Kong网关

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

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

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

先来个简单的示例:网站

一、添加一个服务(service)url

curl -i -X POST \
--url http://192.168.1.12:8001/services/ \
--data 'name=example-service' \
--data 'url=http://mockbin.org'

二、为服务添加一个路由(route)代理

说明:一个IP地址能够对应多个域名,服务器根据Host这一行中的值来肯定本次请求的是哪一个具体的网站。code

curl -i -X POST \
--url http://192.168.1.12:8001/services/example-service/routes \
--data 'hosts[]=example.com'

三、使用Kong作一个请求转发对象

curl -i -X GET \
--url http://192.168.1.12:8000/ \
--header 'Host: example.com'

SERVICE API 详解:路由

一、添加service字符串

请求地址:/service/
请求方法:POST
请求主体:

属性 描述
name(可选) 服务名称.
protocol 该协议用于与upstream通讯。它能够是http(默认)或https。
host upstream服务器的主机。
port upstream服务器端口。默认为80
path(可选) 在向upstream服务器请求中使用的路径。默认为空。
retries(可选) 在代理失败的状况下执行的重试次数。默认值是5。
connect_timeout(可选) 创建到upstream服务器的链接的超时时间。默认为60000。
write_timeout(可选) 将请求发送到upstream服务器的两个连续写操做之间的超时时间。默认为60000。
read_timeout(可选) 将请求发送到upstream服务器的两个连续读取操做之间的超时时间。默认为60000。
url(简写属性) 将协议、主机、端口和路径当即设置成简短的属性。这个属性是只写的(管理API历来不“返回”url)。

二、查找service

请求地址:/services/{name or id}
请求方法:GET
PATH参数:

属性 描述
name or id(必填) 检索的惟一标识符或服务名称。

请求地址:/routes/{route id}/service
PATH方法:GET
请求参数:

属性 描述
route id(必填) 属于要检索的服务的路由的惟一标识符。

三、查找service列表

请求地址:/services/
请求方法:GET
请求参数:

属性 描述
offset(可选) 用于分页的游标。偏移量是定义列表中的位置的对象标识符。
size(可选,默认是100 max是1000) 每一个页面返回的对象数量的限制。

四、更新service

请求地址:/services/{name or id}
请求方法:PATCH
PATH参数:

属性 描述
name or id(必填) 要更新的服务的id或name属性。

请求地址:/routes/{route id}/service
请求方法:PATCH
PATH参数:

属性 描述
route id(必填) 要更新服务的路由的id属性。

请求主体:同一、新增service

五、删除service

请求地址:/services/{name or id}
请求方法:DELETE
PATH参数:

属性 描述
name or id(必填) 要删除的服务的id或name属性。
相关文章
相关标签/搜索