1、前景回顾
在前前面几章中,我们分别介绍了 Service、Route使用和一些关键API介绍,还不了解的请回顾《企业级API网关Kong系列》
看起来比较零散、本章我们来完整的做一个请求转发的示例。
2、业务场景
在本节中,将向Kong添加API。为此,您首先需要添加一个服务 ; 这就是Kong用来指代它管理的上游API和微服务的名称。
出于本指南的目的,我们将创建一个指向Mockbin API的服务。Mockbin是一个“echo”类型的公共网站,它将返回请求的请求作为响应返回给请求者。这有助于了解Kong如何代理您的API请求。
在开始向服务发出请求之前,您需要为其添加路由。路由指定请求在到达Kong后如何(以及是否)发送到其服务。单个服务可以有多个路由。
配置服务和路由后,您将能够通过Kong使用它们发出请求。
Kong 在端口上公开了一个RESTful Admin API:8001。Kong的配置,包括添加服务和路由,是通过该API的请求进行的。
3、使用Admin API 添加服务
发出以下cURL请求,将您的第一个服务(指向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
}
4、使用Admin API 添加路由
$ curl -i -X POST \
--url http://localhost:8001/services/example-service/routes \
--data 'hosts[]=example.com'
响应
HTTP/1.1 201 Created
Content-Type: application/json
Connection: keep-alive
{
"created_at":1519131139,
"strip_path":true,
"hosts":[
"example.com"
],
"preserve_host":false,
"regex_priority":0,
"updated_at":1519131139,
"paths":null,
"service":{
"id":"79d7ee6e-9fc7-4b95-aa3b-61d2e17e7516"
},
"methods":null,
"protocols":[
"http",
"https"
],
"id":"f9ce2ed7-c06e-4e16-bd5d-3a82daef3f9d"
}
到这我们简单路由转发服务就创建完成了, 接着我们来验证下
5、通Kong来转发请求
发出以下cURL请求以验证Kong是否正确地将请求转发给您的服务。请注意,默认情况下 Kong处理端口上的代理请求:8000
$ curl -i -X GET \
--url http://localhost:8000/ \
--header 'Host: example.com'
成功的响应意味着Kong现在正在http://localhost:8000向url我们在步骤#3中配置的请求转发请求 ,并将响应转发给我们。Kong知道通过上面的cURL请求中定义的标头执行此操作。
当然我们也可以在host文件添加example.com的映射关系,然后直接在浏览器中输入http://example.com:8000也可达到一样的效果。
想了解更多关于Kong网关的请移步 >>>>> 企业级API网关Kong
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。