跳到主要内容
版本:3.2.9.5

以服务维度发布 API

设计、开发和部署 API 后,你可以在 API7 企业版中发布这些 API,以便进行访问。你可以将其发布到测试环境、预生产环境、生产环境,或多个区域。

本教程以 Swagger Petstore 为例,介绍如何将 API 发布到测试环境。通常情况下,开发人员根据后端服务组织 API,因此 API7 以服务维度管理 API。特定后端的 API 共享配置,并在后端发生变化时一起更新。

前提条件​

  1. 安装 API7 企业版。
  2. 获取一个具有超级管理员 或 API 提供者 角色的用户账户。
  3. 将默认网关组重命名为测试网关组并配置网络。该网关组将作为测试环境的 API 网关。
  4. 在网关组中至少新增一个网关实例。

新增服务和路由​

  1. 从左侧导航栏中选择 服务, 然后单击新增服务。
  2. 选择 手动新增。
  3. 名称填写Swagger Petstore。
  4. 单击新增。
  5. 在服务详情页面中,单击新增路由。
  6. 在新增路由 对话框中, 执行以下操作:
    1. 名称填写getPetById。
    2. 路径填写/pet/*。
    3. HTTP 方法选择GET。
  7. 单击新增。

使用上游节点发布服务​

  1. 从左侧导航栏中选择 服务, 然后选择目标服务Swagger Petstore,然后单击立刻发布。
  2. 选择测试网关组,然后单击下一步。
  3. 在服务发布 对话框中, 执行以下操作:
    1. 新版本填写1.0.0。
    2. 如何找到上游选择使用节点。
  4. 单击新增节点,在对话框中, 执行以下操作:
    1. 主机和端口,填写 API 在测试环境的后端服务地址。
    2. 权重使用默认值100。
    3. 单击新增。
  5. 确认信息都无误后,单击发布。

使用服务发现发布服务​

Consul、Eureka、Nacos 或 Kubernetes Service Discovery 等服务发现机制可以动态检测后端节点。因此,用户无需手动输入多个上游节点。

信息

发布后,服务无法在使用定义的上游节点和使用服务发现之间直接切换。不过,可以通过流量灰度在上游节点和服务发现之间进行切换。

  1. 从左侧导航栏中选择 网关组, 然后选择测试网关组。
  2. 从左侧导航栏中选择服务注册中心,然后单击新增服务注册中心连接。
  3. 在新增服务注册中心连接 对话框中, 执行以下操作:
    1. 名称填写测试 Kubernetes 注册中心。
    2. 发现类型选择Kubernetes。
    3. 填写API 服务器地址和令牌。
    4. 单击新增。
    5. 等待连接,确保注册中心连接状态为健康。
    6. 从左侧导航栏中选择 服务, 然后选择目标服务Swagger Petstore,然后单击立刻发布。
  4. 选择测试网关组,然后单击下一步。
  5. 在服务发布 对话框中, 执行以下操作:
    1. 新版本填写1.0.0。
    2. 如何找到上游选择使用服务发现。
    3. 服务注册中心选择测试 Kubernetes 注册中心,并选择好对应的命名空间和服务名称。
    4. 单击发布。

验证 API​

curl "http://127.0.0.1:9080/pet/1"

你应该会看到以下输出:

{
"name": "Dog",
"photoUrls": [
"https://example.com/dog-1.jpg",
"https://example.com/dog-2.jpg"
],
"id": 1,
"category": {
"id": 1,
"name": "pets"
},
"tags": [
{
"id": 1,
"name": "friendly"
},
{
"id": 2,
"name": "smart"
}
],
"status": "available"
}