跳到主要内容
版本: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. 从左侧导航栏中选择 服务, 然后选择目标服务Swagger Petstore,然后单击立刻发布
  6. 选择测试网关组,然后单击下一步
  7. 服务发布 对话框中, 执行以下操作:
    1. 新版本填写1.0.0
    2. 如何找到上游选择使用服务发现
    3. 服务注册中心选择测试 Kubernetes 注册中心,并选择好对应的命名空间和服务名称。

验证 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"
}