Kong 入门指南 - 通过Kong Gateway公开您的服务

katanaFlower 2020-06-02

在本主题中,您将学习如何使用路由公开服务。

如果您遵循“入门”工作流程,请确保在继续之前完成“ 准备管理Kong Gateway”的准备工作。

如果您不遵循“入门”工作流,请确保已安装并启动了Kong Gateway。

什么是服务和路线?

服务和路由对象使您可以通过Kong Gateway向客户端公开服务。在配置对API的访问权限时,您将从指定服务开始。在Kong Gateway中,服务是表示外部上游API或微服务的实体,例如,数据转换微服务,计费API等。

服务的主要属性是其URL,服务在其中侦听请求。您可以使用单个字符串指定URL,也可以分别指定其协议,主机,端口和路径。

在开始对服务提出请求之前,您需要为其添加一条路由。路由确定请求到达Kong Gateway后如何(以及是否)发送到其服务。单个服务可以具有多个路由。

配置服务和路由后,您将可以开始通过Kong Gateway发出请求。

该图说明了通过服务路由到后端API的请求和响应的流程。

Kong 入门指南 - 通过Kong Gateway公开您的服务

添加服务

就本示例而言,您将创建一个指向Mockbin API的服务。Mockbin是一个“回声”型公共网站,可将请求作为响应返回给请求者。该可视化将有助于了解Kong Gateway代理API请求的方式。

Kong Gateway在port上公开了RESTful Admin API :8001。网关的配置(包括添加服务和路由)是通过对Admin API的请求完成的。

  1. 使用名称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成功消息。

  1. 验证服务的端点。
    使用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

相关推荐