Kong 入门指南 - 通过Kong Gateway公开您的服务
在本主题中,您将学习如何使用路由公开服务。
如果您遵循“入门”工作流程,请确保在继续之前完成“ 准备管理Kong Gateway”的准备工作。
如果您不遵循“入门”工作流,请确保已安装并启动了Kong Gateway。
什么是服务和路线?
服务和路由对象使您可以通过Kong Gateway向客户端公开服务。在配置对API的访问权限时,您将从指定服务开始。在Kong Gateway中,服务是表示外部上游API或微服务的实体,例如,数据转换微服务,计费API等。
服务的主要属性是其URL,服务在其中侦听请求。您可以使用单个字符串指定URL,也可以分别指定其协议,主机,端口和路径。
在开始对服务提出请求之前,您需要为其添加一条路由。路由确定请求到达Kong Gateway后如何(以及是否)发送到其服务。单个服务可以具有多个路由。
配置服务和路由后,您将可以开始通过Kong Gateway发出请求。
该图说明了通过服务路由到后端API的请求和响应的流程。
添加服务
就本示例而言,您将创建一个指向Mockbin API的服务。Mockbin是一个“回声”型公共网站,可将请求作为响应返回给请求者。该可视化将有助于了解Kong Gateway代理API请求的方式。
Kong Gateway在port上公开了RESTful Admin API :8001。网关的配置(包括添加服务和路由)是通过对Admin API的请求完成的。
- 使用名称example_service和URL 定义服务http://mockbin.org。
使用cURL:
$ curl -i -X POST http://<admin-hostname>:8001/services --data name=example_service --data url=‘http://mockbin.org‘
如果服务创建成功,您将收到201成功消息。
- 验证服务的端点。
使用cURL:
$ curl -i http://<admin-hostname>:8001/services/example_service
添加路由
为了使服务可以通过Kong Gateway访问,您需要为其添加一条路由。
使用客户需要请求的特定路径/mock为服务(example_service)定义一条路由()。请注意,必须至少设置主机,路径或方法之一,才能使路由与服务匹配。
使用cURL:
$ curl -i -X POST http://<admin-hostname>:8001/services/example_service/routes --data ‘paths[]=/mock‘ --data ‘name=mocking‘
将返回一条201消息,表明路由已成功创建。
确认路由将请求转发到服务
使用Admin API,发出以下命令:
使用cURL:
$ curl -i -X GET http://<admin-hostname>:8000/mock