Skip to content
当前页

API网关

API网关API 网关管控平台主要包括两大功能集:服务、路由和API管理功能集,平台管理功能集。服务、路由、API管理功能集主要面向服务开发与管理人员,用于维护服务与接口的元数据、进行发布管理以及查看 API 文档等;平台管理功能集主要面向系统管理人员,用于管理网关节点配置、用户权限、告警管理等。

服务管理

针对网关代理的多个服务进行管理,包含创建、修改、查询、删除、发布操作。将服务发布到网关的某个环境上,就会自动在网关上添加对这个服务的透明代理。

查看服务列表

查看API网关已代理服务列表信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”,进入服务列表页面。

在服务列表页面,支持根据服务名称和标识进行检索。

创建服务

创建API网关代理服务元数据。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”,进入服务列表页面。

  4. 在服务列表页面,点击左上 “创建服务”,进入创建服务页面。

  • 服务类型:需要透明代理服务的协议类型,支持HTTP、Dubbo、WebService和gRCP四种类型。

  • 服务名称:服务名称。

  • 服务标识:服务唯一标识,需要全局唯一,必须以英文字母开头。

  • 负责人:服务负责人。

  • 备注信息:服务额外信息描述。

修改服务

修改API网关代理服务元数据。

操作步骤

  1. 登录 “微服务治理平台“。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”,进入服务列表页面。

  4. 在服务列表页面,点击目标服务右侧 “修改”,进入修改服务页面。

  • 服务名称:服务名称。

  • 负责人:服务负责人。

  • **备注信息:**服务额外信息描述。

删除服务

删除API网关代理服务元数据,已发布服务不允许删除。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”,进入服务列表页面。

  4. 在服务列表页面,点击目标服务右侧 “删除”,在弹出框点击 “确认”,完成服务删除。

查看服务详情

查看API网关代理服务详细信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”,进入服务列表页面。

  4. 在服务列表页面,点击目标服务的 “服务名称”,进入服务详情页面。

同步知识库

服务管理中,支持从“微服务模块”的知识库中同步服务和API接口信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”,进入服务列表页面。

  4. 在服务列表页面,点击左上 “同步知识库”,进入同步知识库页面。

  5. 在同步知识库页面,选择需要同步的服务,点击 “确认导入”。

在同步知识库页面会展示所有待导入的服务数量,会覆盖的服务信息,以及有冲突的服务信息。

导入成功后,在服务管理列表会有图标

,表示该服务是从知识库同步的。

发布服务

服务发布到网关,实现已部署服务在网关上的代理。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”,进入服务列表页面。

  4. 在服务列表页面,点击目标服务右侧 “发布”,进入服务发布页面。

第一步,选择需要发布到的目标网关。

第二步,填写发布方式和配置后端服务,分为注册中心发布和静态发布两种方式。

  • **发布方式:**选择从注册中心同步。

  • **注册中心:**选择实际使用的注册中心,实际可选择的注册中心和服务类型相关。

  • **应用名称:**服务发到注册中心中的名称。

  • **发布方式:**选择静态地址。

  • **服务协议:**后端服务实例采用的协议,根据服务类型决定。

  • **服务地址:**后端服务实例地址,可以配置多个。

第三步,TCP和HTTP连接池配置(可选)。

  • **负载均衡:**负载均衡算法,支持轮询、随机、最小连接和一致性哈希。当选择一致性哈希算法时,支持源IP和请求头两种类型算法,选择请求头时还需要指定header名称。

  • TCP连接池**:**TCP连接池配置。

**最大连接数:**API网关与服务实例最大的TCP连接数量总和,默认为1024。

**连接超时:**TCP连接超时配置,默认为60秒。

  • HTTP**连接池:**HTTP连接池配置

**空闲超时:**HTTP空闲超时配置,默认为3秒。

**最大请求数:**HTTP2最大请求数配置,默认为1024。

**请求排队上限:**HTTP1.1请求排队上限,默认为1024。

**单连接请求上限:**HTTP单连接请求上限,默认为0,设置为0时表示不限制。

第四步,服务版本配置(可选)。

服务发布时还可以指定服务版本,填写版本名称,版本名称在路由发布中会被使用。

  • 版本名称: 服务版本的名称,在路由发布时可以使用。

**标签:**区分服务版本的标签,填写标签的key和value值,为应用在K8s注册中心注册时指定的label值。

**Key:**标签的key值。

**Value:**标签的value值。

  • **负载均衡:**该版本服务的负载均衡算法,支持轮询、随机、最小连接和一致性哈希。当选择一致性哈希算法时,支持源IP和请求头两种类型算法,选择请求头时还需要指定header名称。

  • **TCP连接池:**该版本的TCP连接池配置。

**最大连接数:**API网关与服务实例最大的TCP连接数量总和,默认为1024。

**连接超时:**TCP连接超时配置,默认为60秒。

  • **HTTP连接池:**该版本的HTTP连接池配置。

**空闲超时:**HTTP空闲超时配置,默认为3秒。

**最大请求数:**HTTP2最大请求数配置,默认为1024。

**请求排队上限:**HTTP1.1请求排队上限,默认为1024。

**单连接请求上限:**HTTP单连接请求上限,默认为0,设置为0时表示不限制。

第五步,完成配置,点击立即发布。

导入API接口

导入服务的API接口定义,网关支持解析swagger文件,自动生成对应的API信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击** **“API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”,进入服务列表页面。

  4. 在服务列表页面,点击目标服务的 “服务名称”,进入服务详情页面。

  5. 在服务详情页面,在 “自动导入接口”,支持地址导入和文件导入两种方式实现接口导入。

  • 接口文档: 选择地址导入。

  • **地址:**文件下载的URL地址,支持JSON 和 YAML两种接口类型。

  • **接口文档:**选择文件导入。

点击导入,选择本地文件进行导入,支持JSON 和 YAML两种接口类型。

查看API接口定义

查看服务的API接口定义,支持Swagger和Markdown两个格式。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”,进入服务列表页面。

  4. 在服务列表页面,点击目标服务的 “服务名称”,进入服务详情页面。

  5. 在服务详情页面,在 “文档查看”,点击Markdown 或 Swagger,分别进入服务的Markdown或 Swagger接口信息查看页面。

路由管理

网关通过路由将代理服务暴露给用户,路由管理包含创建、修改、查询、删除、发布操作。服务发布后,还需要将服务下的路由进行录入发布,该服务才能通过网关暴露出去。

查看路由列表

查看路由列表信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”,进入路由列表页面。

在路由列表页面,支持根据服务进行筛选,支持根据路由名称进行检索。

创建路由

创建服务路由。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”,进入路由列表页面。

  4. 在路由列表页面,点击 “创建路由”, 进入路由创建页面。

  • **所属服务:**路由所属的服务。

  • **路由名称:**新创建的路由名称。

  • Path:请求路径匹配设置,由匹配方式和条件取值组成。

匹配方式:请求路径匹配的方式,支持精确匹配、前缀匹配和正则表达式三种;

条件取值:请求路径匹配的值,支持配置多个值,多值之间用回车分隔;

  • (非必填)Host:请求Host匹配设置,由匹配方式和条件取值组成。

**匹配方式:**请求Host匹配的方式,支持精确匹配、前缀匹配和正则表达式三种;

**条件取值:**请求Host匹配的值,支持配置多个值,多值之间用回车分隔;

  • **(非必填)Method:**请求Method匹配设置,由匹配方式和条件取值组成。

匹配方式:请求Method匹配的方式,仅支持精确匹配;

条件取值:请求Method匹配的值,支持配置多个值,取值范围为POST、GET、PUT、DELETE、OPTIONS、HEAD、TRACE、CONNECT和PATCH。

  • **(非必填)Header:**请求Header匹配设置,由参数名、匹配方式和条件取值组成,如果需要同时匹配多个Header,添加多个Header并分别进行配置。

**参数名:**请求Header的名称。

匹配方式:请求Header匹配的方式,支持精确匹配、前缀匹配和正则表达式三种;

条件取值:请求Header匹配的值,支持配置多个值,多值之间用回车分隔;

  • **(非必填)Query:**请求Query String匹配设置,由参数名、匹配方式和条件取值组成,如果需要同时匹配多个Query,添加多个Query并分别进行配置。

**参数名:**请求Query String的名称。

匹配方式:请求Query String匹配的方式,支持精确匹配和正则表达式两种;

条件取值:请求Query String匹配的值,支持配置多个值,多值之间用回车分隔;

  • **优先级:**路由优先级,当多条路由同时匹配时,网关会匹配到高优先级的路由,优先级数字越大优先级越高。注意,Path为精确匹配时,优先级永远高于前缀和正则表达式匹配。

  • **(非必填)备注信息:**路由额外信息说明。

修改路由

修改服务路由,修改路由匹配、优先级等信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”,进入路由列表页面。

  4. 在路由列表页面,点击目标路由右侧 “修改”, 进入路由修改页面。

  • **路由名称:**要创建的路由名称。

  • Path:请求路径匹配设置,由匹配方式和条件取值组成。

  • 匹配方式:请求路径匹配的方式,支持精确匹配、前缀匹配和正则表达式三种;

  • 条件取值:请求路径匹配的值,支持配置多个值,多值之间用回车分隔;

  • (非必填)Host:请求Host匹配设置,由匹配方式和条件取值组成。

  • **匹配方式:**请求Host匹配的方式,支持精确匹配、前缀匹配和正则表达式三种;

  • **条件取值:**请求Host匹配的值,支持配置多个值,多值之间用回车分隔;

  • **(非必填)Method:**请求Method匹配设置,由匹配方式和条件取值组成。

  • 匹配方式:请求Method匹配的方式,仅支持精确匹配;

  • 条件取值:请求Method匹配的值,支持配置多个值,取值范围为POST、GET、PUT、DELETE、OPTIONS、HEAD、TRACE、CONNECT和PATCH。

  • **(非必填)Header:**请求Header匹配设置,由参数名、匹配方式和条件取值组成,如果需要同时匹配多个Header,添加多个Header并分别进行配置。

  • **参数名:**请求Header的名称。

  • 匹配方式:请求Header匹配的方式,支持精确匹配、前缀匹配和正则表达式三种;

  • 条件取值:请求Header匹配的值,支持配置多个值,多值之间用回车分隔;

  • **(非必填)Query:**请求Query String匹配设置,由参数名、匹配方式和条件取值组成,如果需要同时匹配多个Query,添加多个Query并分别进行配置。

  • **参数名:**请求Query String的名称。

  • 匹配方式:请求Query String匹配的方式,支持精确匹配和正则表达式两种;

  • 条件取值:请求Query String匹配的值,支持配置多个值,多值之间用回车分隔;

  • **优先级:**路由优先级,当多条路由同时匹配时,网关会匹配到高优先级的路由,优先级数字越大优先级越高。注意,Path为精确匹配时,优先级永远高于前缀和正则表达式匹配。

  • **(非必填)备注信息:**路由额外信息说明。

在路由修改页面,完成配置修改后,有两个修改方式:“修改并同步”和“立即修改”。“修改并同步”会同时修改路由和该路由的已发布路由,而“立即修改”仅修改路由自身。

删除路由

删除服务路由,已发布路由不允许删除。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”,进入路由列表页面。

  4. 在路由列表页面,点击目标路由右侧 “删除”,在弹出框点击 “确认”,完成路由删除。

查看路由详情

查看服务路由详细信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”,进入路由列表页面。

  4. 在路由列表页面,点击目标路由 “路由名称”,进入路由详情页面。

在路由详情页,可以看到路由的基本信息,并可以修改路由名称、Path、Host、Method、Header、Query、优先级和备注信息。

如果该路由已经发布到一个或多个网关,可以查看并修改发布的网关,以及服务版本信息。同时提供路由下线操作。

同步路由

同步路由修改信息到已发布路由,适用于路由发布后,路由信息修改的场景。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”,进入路由列表页面。

  4. 在路由列表页面,点击目标路由 “路由名称”,进入路由详情页面。

  5. 在路由详情页面,点击左上侧 “同步”,进入路由同步页面。

  6. 在路由同步页面,选择待同步的网关,点击 “同步发布”,实现路由同步。

复制路由

复制当前路由到其他服务,适用于两个服务的路由请求匹配参数一致,实现路由快速创建。在复制路由时支持同时发布该路由。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”,进入路由列表页面。

  4. 在路由列表页面,点击目标路由 “路由名称”,进入路由详情页面。

  5. 在路由详情页面,点击左上侧 “复制”,进入路由复制页面。

  • **目标服务:**新创建路由所属的服务。

  • **路由名称:**新创建的路由名称。

  • **优先级:**路由优先级,当多条路由同时匹配时,网关会匹配到高优先级的路由,优先级数字越大优先级越高。注意,Path为精确匹配时,优先级永远高于前缀和正则表达式匹配。

  • **(非必填)备注信息:**路由额外信息说明。

  • **(非必填)高级配置:**配置路由需要发布的目标网关,支持配置一个网关。

    • **网关:**路由发布的目标网关。

    • **端口:**后端服务的端口。

发布路由

发布路由,路由发布后路由规则在网关上生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”,进入路由列表页面。

  4. 在路由列表页面,点击目标路由右侧 “发布”, 进入路由发布页面。

  • **目标网关:**路由发布的目标网关。

  • **应用信息:**路由发布的服务信息,支持“应用”和“版本”两种方式,“应用”指服务所有版本或不区分版本,“版本”可以指定后端的服务版本。

    • **应用:**选择“应用”时的配置。

      • **端口:**后端服务的端口。
    • 版本:选择“版本”时的配置,支持配置多个版本。

      • 版本: 后端服务版本,服务发布时创建的版本。

      • 端口:后端服务的端口。

      • 权重:后端服务版本的权重,支持0-100。

  • **是否使能:**路由发布后已发布路由的使能状态,如果设置为不使能,那么路由发布会未生效,需要执行使能操作后让已发布路由生效。如果设置为使能,则路由发布后即生效。

  • **超时时间:**后端服务请求超时时间,单位毫秒。

  • **重试:**后端服务请求重试配置。

    • **重试条件:**重试触发条件,支持5xx错误、refused-stream、connect-failure和gateway-error等四种条件。

    • **重试次数:**重试的最大次数。

    • 重试超时时间:重试的超时时间。

API管理

针对网关代理的API进行管理,包含创建、修改、查询、删除操作。

查看API列表

查看API列表信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 接口数据”,进入API列表页面。

创建API

创建服务API接口。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 接口数据”,进入API列表页面。

  4. 在API列表页面,点击 “创建API”,进入API创建页面。

  • **所属服务:**API所属的服务。

  • **接口名称:**API接口名称。

  • **接口标识(非必填):**API接口标识。

  • **请求方法:**HTTP请求方法。

  • **请求路径:**HTTP请求路径。

  • **接口状态:**API接口交付状态。

  • **风格类型:**接口风格类型,当前仅支持RESTFUL。

  • **描述信息(非必填):**接口额外信息说明。

修改API

修改服务API接口。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 接口数据”,进入API列表页面。

  4. 在API列表页面,点击目标API的 “API信息”,进入API详情页面。

  5. 在API详情页面,在详细信息Sheet页,点击右侧 “修改”,进入API修改页面。

  • **接口名称:**API接口名称。

  • **接口标识(非必填):**API接口标识。

  • **请求方法:**HTTP请求方法。

  • **请求路径:**HTTP请求路径。

  • **接口状态:**API接口交付状态。

  • **风格类型:**接口风格类型,当前仅支持RESTFUL。

  • **描述信息(非必填):**接口额外信息说明。

删除API

删除服务API接口。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 接口数据”,进入API列表页面。

  4. 在API列表页面,点击目标API右侧 “删除”,在弹出框点击 “确认**”**,完成API删除。

查看API详情

查看服务API接口详细信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 接口数据”,进入API列表页面。

  4. 在API列表页面,点击目标API的 “API信息”,进入API详情页面。

在API详情页,可以看到API的基本信息,并可以修改API接口名称、请求方法和请求路径等信息。还可以在此录入此API的请求信息、响应信息、状态码等,还能查看针对此API的修改记录。

设置API请求信息

设置API接口的请求信息定义。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 接口数据”,进入API列表页面。

  4. 在API列表页面,点击目标API的 “API信息”,进入API详情页面。

  5. 在API详情页面,点击 “请求信息Sheet页”,然后点击右侧 “修改”,修改API的请求信息。

  • **Query String:**请求Query参数设置。

    • **名称:**Query参数的名称。

    • **类型:**Query参数的值类型。

    • **数组元素类型:**当Query参数的值类型为数组时填写,定义数组成员的值类型。

    • **描述:**Query参数的说明。

    • **是否必填:**Query参数是否为必填值。

    • **默认值:**Query参数的默认值。

  • **Request Header:**请求Header配置。

    • **名称:**Header的名称。

    • **值:**Header的值。

    • **描述:**Header的说明。

设置API响应信息

设置API接口的响应信息定义。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 接口数据”,进入API列表页面。

  4. 在API列表页面,点击目标API的 “API信息”,进入API详情页面。

  5. 在API详情页面,点击 “响应信息Sheet页”,然后点击右侧 “修改”,修改API的响应信息。

  • **Response Header:**请求响应Header配置。

    • **名称:**Header的名称。

    • **值:**Header的值。

    • **描述:**Header的说明。

  • **Response Body:**响应Body设置。

    • **名称:**参数的名称。

    • **类型:**参数的值类型。

    • **数组元素类型:**当参数的值类型为数组时填写,定义数组成员的值类型。

    • **描述:**参数的说明。

    • **是否必填:**参数是否为必填值。

    • **默认值:**参数的默认值。

    • **上传json:**通过JSON导入的方式生成参数

设置API响应状态码

设置API接口的响应状态码定义。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 接口数据”,进入API列表页面。

  4. 在API列表页面,点击目标API的 “API信息”,进入API详情页面。

  5. 在API详情页面,点击 “响应状态码Sheet页”,然后点击右侧 “修改”,修改API的响应状态码。

  • **响应状态码:**请求响应状态码设置。

    • **状态码:**响应状态码。

    • **描述信息:**返回状态码的描述说明。

设置API请求示例

设置API接口的请求示例。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 接口数据”,进入API列表页面。

  4. 在API列表页面,点击目标API的 “API信息”,进入API详情页面。

  5. 在API详情页面,点击 “示例Sheet页”,然后点击右侧 “修改”,修改API的请求示例。

  • **请求示例:**API请求示例信息。

  • **响应示例:**API响应示例信息。

查看API修改记录

设置API接口的修改记录。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 ”API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 接口数据”,进入API列表页面。

  4. 在API列表页面,点击目标API的 “API信息”,进入API详情页面。

  5. 在API详情页面,点击 “修改记录Sheet页”,查看API的修改记录信息。

查看数据模型列表

查看数据模型列表信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 数据模型”,进入数据模型列表页面。

创建数据模型

创建数据模型。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 数据模型”,进入数据模型列表页面。

  4. 在数据模型列表页面,点击 “创建数据模型”,进入数据模型创建页面。

  • **模型名称:**模型的名称。

  • **所属服务:**模型所属的服务。

  • **描述信息:**模型详细信息说明。

修改数据模型

修改数据模型。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 数据模型”,进入数据模型列表页面。

  4. 在数据模型列表页面,点击目标数据模型 “名称”,进入数据模型详情页面。

  5. 在数据模型详情页面,点击右上侧 “修改”, 进入数据模型修改页面。

  • **模型名称:**模型的名称。

  • **描述信息:**模型详细信息说明。

  • **属性列表:**模型属性定义。

    **名称:**属性的名称。

    **参数类型:**属性的值类型。

    **数组元素类型:**当属性的值类型为数组时填写,定义数组成员的值类型。

    **描述:**属性的说明。

    **是否必填:**属性是否为必填值。

    **默认值:**属性的默认值。

    **操作:**复制、删除操作

删除数据模型

删除数据模型。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 数据模型”,进入数据模型列表页面。

  4. 在数据模型列表页面,点击目标数据模型右侧 “删除”,在弹出框点击 “确认”,完成数据模型删除。

查看数据模型详情

查看数据模型详细信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “API管理 > 数据模型”,进入数据模型列表页面。在数据模型列表页面,点击目标数据模型 “名称”,进入数据模型详情页面。

已发布服务管理

通过此模块能查看当前已发布服务具体情况,包括发布到哪些网关环境,发布时间等。可以通过所属网关和所属服务对已发布服务列表进行过滤查看。

查看已发布服务列表

查看已发布服务列表信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布服务”,进入已发布服务列表页面。

下线已发布服务

下线已发布服务,服务下线会使得通过网关访问该服务时,会返回404。服务下线前需要将其下所有已发布的路由全部下线才能执行下线操作。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布服务”,进入已发布服务列表页面。

  4. 在已发布服务列表页面,点击目标已发布服务右侧 “下线”,在弹出框点击 “确认”,完成已发布服务下线。

更新已发布服务

更新已发布服务。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布服务”,进入已发布服务列表页面。

  4. 在已发布服务列表页面,点击目标已发布服务右侧 “发布更新”,进入已发布服务更新页面。

  • **负载均衡:**负载均衡算法,支持轮询、随机、最小连接和一致性哈希。当选择一致性哈希算法时,支持源IP和请求头两种类型算法,选择请求头时还需要指定header名称。

  • **TCP连接池:**TCP连接池配置。

    • **最大连接数:**API网关与服务实例最大的TCP连接数量总和,默认为1024。

    • **连接超时:**TCP连接超时配置,默认为60秒。

  • **HTTP连接池:**HTTP连接池配置

    • **空闲超时:**HTTP空闲超时配置,默认为3秒。

    • **最大请求数:**HTTP2最大请求数配置,默认为1024。

    • **请求排队上限:**HTTP1.1请求排队上限,默认为1024。

    • **单连接请求上限:**HTTP单连接请求上限,默认为0,设置为0时表示不限制。

  • **版本配置:**后端服务版本配置,支持配置多个版本。需要注意,服务发布时配置了版本,且路由发布时使用了该版本,那么发布更新时不允许删除此版本。

    • 版本名称: 服务版本的名称,在路由发布时可以使用。

    • **标签:**区分服务版本的标签。

      • **Key:**标签的key值。

      • **Value:**标签的value值。

    • **负载均衡:**该版本服务的负载均衡算法,支持轮询、随机、最小连接和一致性哈希。当选择一致性哈希算法时,支持源IP和请求头两种类型算法,选择请求头时还需要指定header名称。

    • **TCP连接池:**该版本的TCP连接池配置。

      • **最大连接数:**API网关与服务实例最大的TCP连接数量总和,默认为1024。

      • **连接超时:**TCP连接超时配置,默认为60秒。

    • **HTTP连接池:**该版本的HTTP连接池配置。

      • **空闲超时:**HTTP空闲超时配置,默认为3秒。

      • **最大请求数:**HTTP2最大请求数配置,默认为1024。

      • **请求排队上限:**HTTP1.1请求排队上限,默认为1024。

      • **单连接请求上限:**HTTP单连接请求上限,默认为0,设置为0时表示不限制。

设置已发布服务健康检查

设置已发布服务健康检查。

操作步骤

  1. 登录** **“微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布服务”,进入已发布服务列表页面。

  4. 在已发布服务列表页面,点击目标已发布服务右侧 “更多 > 健康检查”,进入已发布服务健康检查设置页面。

  • **主动健康检查:**服务实例主动健康检查设置。

    • 检查路径:健康检查HTTP路径。

    • 超时时间:健康检查超时时间。

    • 健康状态码:健康检查为健康的响应码。

    • 健康实例检查:健康实例检查设置。

      • 检查间隔:健康检查间隔。

      • 健康阈值:连续检查异常达到该次数后,判定服务实例为异常。

    • 异常实例检查:异常实例检查设置。

      • 检查间隔:健康检查间隔。

      • 异常阈值:连续检查健康达到该次数后,判定服务实例为健康。

  • **被动健康检查:**服务实例被动健康检查设置。

    • 连续失败次数:发送给同一个实例的请求连续失败多少次后,网关判定该实例为异常,网关将在指定时间内不转发请求到该实例。

    • 驱逐时间:服务实例被驱逐后,API网关不再转发请求给该服务实例,当驱逐时间过后,该服务实例将被重新设定为健康状态。

    • 最多可驱逐实例比:指定最多可被驱逐的后端实例数量,实例数量=总数*百分比。

    • 最小健康实例比:最小健康实例比,当实际实例健康比低于该设置值时,不再进行被动健康检查。

查看已发布服务性能监控

查看已发布服务性能监控,支持查看7天内的监控数据。服务指标包括:请求次数、每秒请求数、时延、请求失败率、每分钟4xx数、每分钟5xx数。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布服务”,进入已发布服务列表页面。

  4. 在已发布服务列表页面,点击目标已发布服务右侧 “更多 > 指标”,进入已发布服务性能监控页面。

已发布服务授权管理

已发布服务授权管理,包括添加、删除授权。注意授权管理仅当该服务绑定认证插件后才能生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布服务”,进入已发布服务列表页面。

  4. 在已发布服务列表页面,点击目标已发布服务右侧 “更多 > 授权管理”,进入已发布服务授权管理页面。

在授权管理页面,可以添加和移除授权,授权对象为【运维管理】-【外部认证】中创建的外部认证。

复制已发布服务

复制已发布服务,实现已发布服务快速复制到其他网关,应用场景为两个网关上发布的服务信息一致。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布服务”,进入已发布服务列表页面。

  4. 在已发布服务列表页面,点击目标已发布服务右侧 “更多 > 复制发布”,进入已发布服务复制发布页面。

**目标网关:**已发布服务复制的目标网关。

前置条件

1.目标网关,需要先在API网关-》网关管理中先关联此项目

已发布路由管理

通过此模块能查看当前已发布路由具体情况,包括发布到哪些网关环境,发布时间等。可以通过所属网关和所属服务对已发布路由列表进行过滤查看。

查看已发布路由列表

查看已发布路由列表信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

下线已发布路由

下线已发布路由,路由下线后通过网关访问属于该路由的API时,会返回404。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “更多 > 下线”,在弹出框点击 “确认”,完成已发布路由下线。

更新已发布路由

更新已发布路由,支持修改路由匹配、优先级等信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “发布更新”,进入已发布路由更新页面。

  • **应用信息:**路由发布的服务信息,支持“应用”和“版本”两种方式,“应用”指服务所有版本或不区分版本,“版本”可以指定后端的服务版本。

    • **应用:**选择“应用”时的配置。

      • **端口:**后端服务的端口。
    • 版本:选择“版本”时的配置,支持配置多个版本。

      • 版本: 后端服务版本,服务发布时创建的版本。

      • 端口:后端服务的端口。

      • 权重:后端服务版本的权重,支持0-100。

  • Path:请求路径匹配设置,由匹配方式和条件取值组成。

  • 匹配方式:请求路径匹配的方式,支持精确匹配、前缀匹配和正则表达式三种;

  • 条件取值:请求路径匹配的值,支持配置多个值,多值之间用回车分隔;

  • (非必填)Host:请求Host匹配设置,由匹配方式和条件取值组成。

  • **匹配方式:**请求Host匹配的方式,支持精确匹配、前缀匹配和正则表达式三种;

  • **条件取值:**请求Host匹配的值,支持配置多个值,多值之间用回车分隔;

  • **(非必填)Method:**请求Method匹配设置,由匹配方式和条件取值组成。

  • 匹配方式:请求Method匹配的方式,仅支持精确匹配;

  • 条件取值:请求Method匹配的值,支持配置多个值,取值范围为POST、GET、PUT、DELETE、OPTIONS、HEAD、TRACE、CONNECT和PATCH。

  • **(非必填)Header:**请求Header匹配设置,由参数名、匹配方式和条件取值组成,如果需要同时匹配多个Header,添加多个Header并分别进行配置。

  • **参数名:**请求Header的名称。

  • 匹配方式:请求Header匹配的方式,支持精确匹配、前缀匹配和正则表达式三种;

  • 条件取值:请求Header匹配的值,支持配置多个值,多值之间用回车分隔;

  • **(非必填)Query:**请求Query String匹配设置,由参数名、匹配方式和条件取值组成,如果需要同时匹配多个Query,添加多个Query并分别进行配置。

  • **参数名:**请求Query String的名称。

  • 匹配方式:请求Query String匹配的方式,支持精确匹配和正则表达式两种;

  • 条件取值:请求Query String匹配的值,支持配置多个值,多值之间用回车分隔;

  • **是否使能:**路由发布后已发布路由的使能状态,如果设置为不使能,那么路由发布会未生效,需要执行使能操作后让已发布路由生效。如果设置为使能,则路由发布后即生效。

  • **超时时间:**后端服务请求超时时间,单位毫秒。

  • **重试:**后端服务请求重试配置。

    • **重试条件:**重试触发条件,支持5xx错误、refused-stream、connect-failure和gateway-error等四种条件。

    • **重试次数:**重试的最大次数。

    • **重试超时时间:**重试的超时时间。

禁用已发布路由

禁用已启用的已发布路由,禁用后已发布路由不在网关上生效,通过网关访问属于该路由的API时,会返回404。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “更多 > 禁用”,在弹出框点击 “确认”,完成已发布路由禁用。

启用已发布路由

启用已禁用的已发布路由,启用后已发布路由在网关上立即生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “更多 > 启用”,在弹出框点击 “确认”,完成已发布路由启用。

已发布路由授权管理

已发布路由授权管理,包括添加、删除授权。注意授权管理仅当该路由绑定认证插件后才能生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,”单击 API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “更多 > 授权管理”,进入已发布路由授权管理页面。

在授权管理页面,可以添加和移除授权,授权对象为【运维管理】-【外部认证】中创建的外部认证。

复制已发布路由

复制已发布路由,实现已发布路由快速复制到其他网关,应用场景为两个网关上发布的路由信息一致。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “更多 > 复制发布”,进入已发布路由复制发布页面。

查看插件列表

查看已发布路由绑定的插件列表。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “插件”,进入已发布路由插件列表页面。

在插件列表页面,可以查看该路由已绑定的插件、添加插件、删除插件、更新插件、启用/禁用插件等。

添加插件

为已发布路由添加插件。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “插件”,进入已发布路由插件列表页面。

  5. 在已发布路由插件列表页面,点击 “添加插件”,进入添加插件页面。

在添加插件页面,点击目标插件下的 绑定,进入该插件的配置页面。

  • **选择模板:**通过模块快速创建插件。

  • **同步关联:**选择私有模板后选择,打开该开关,插件配置与模板相同,不允许修改插件配置。否则,允许修改插件配置。

  • **配置参数:**插件配置,与插件类型相关。

更新插件

更新已发布路由绑定插件的配置,更新完成后插件配置变更会在网关立即生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “插件”,进入已发布路由插件列表页面。

  5. 在已发布路由插件列表页面,点击目标插件右侧 “更新”,进入插件更新页面。

  6. 在插件更新页面,完成插件配置修改,点击 “更新”,完成插件更新。

  • **选择模板:**通过模块快速创建插件。

  • **同步关联:**选择私有模板后选择,打开该开关,插件配置与模板相同,不允许修改插件配置。否则,允许修改插件配置。

  • **配置参数:**插件配置,与插件类型相关。

禁用插件

禁用已发布路由绑定的已启用插件,禁用后该插件在网关不在生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “插件”,进入已发布路由插件列表页面。

  5. 在已发布路由插件列表页面,点击目标插件右侧 “禁用”,在弹出框点击 确认,完成插件禁用。

启用插件

启用已发布路由绑定的已禁用插件,启用后该插件在网关立即生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “插件”,进入已发布路由插件列表页面。

  5. 在已发布路由插件列表页面,点击目标插件右侧 “启用”,在弹出框点击 确认,完成插件启用。

删除插件

删除已发布路由绑定的插件。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息 > 已发布路由”,进入已发布路由列表页面。

  4. 在已发布路由列表页面,点击目标已发布路由右侧 “插件”,进入已发布路由插件列表页面。

  5. 在已发布路由插件列表页面,点击目标插件右侧 “删除”,在弹出框点击 确认,完成插件删除。

服务审计管理

通过此模块能查看API网关上接口的调用记录、调用统计信息。

调用记录查询

查看网关调用记录信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务审计 > 调用记录”,进入调用记录查看页面。

可以查询一段时间内,某一个服务或路由的调用记录,每条记录会显示调用时间、路由名称、请求方法、请求URI、请求来源IP、返回码、耗时等信息。也可以使用服务器返回的请求Request ID查询具体某次请求的调用信息。

需要注意的是,当API网关将请求转发到后端服务时,若发生了Connection refused、Read timed out这类异常时,API网关在记录调用信息时将响应码修改为504,但实际上返回给客户端的响应仍然为500。所以查询审计记录时,若前端显示的响应码为504则表示API网关在做请求转发时发生了网络异常。

调用统计查询

查看服务的调用统计信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务审计 > 调用统计”,进入调用统计查看页面。

  • **调用次数:**在指定时间段内,该服务或接口被调用的总的次数。

  • **成功调用次数:**在指定时间段内,该服务或接口成功的调用次数。最终返回给客户端的响应状态码为2xx时,认为该次请求为调用成功。

  • **失败调用次数:**在指定时间段内,该服务或接口失败的调用次数。最终返回给客户端的响应状态码为5xx时,认为该次请求为调用失败。

  • **4xx请求次数:**在指定时间段内,该服务或接口响应状态码为4xx的次数。

  • **网络失败次数:**在指定时间段内,API网关将请求转发到后端服务时发生网络异常的次数。当API网关将请求转发给后端服务时,若发生了Connection Refused、Read Timed out异常时,认为发生了网络异常。

  • **95% RT:**在指定时间段内,该服务或接口95%的请求其响应耗时都在该范围以内。其中响应耗时包含了:API网关收到请求至API网关给客户端响应这个过程的总耗时。

  • **99% RT:**在指定时间段内,该服务或接口99%的请求其响应耗时都在该范围以内。其中响应耗时包含了:API网关收到请求至API网关给客户端响应这个过程的总耗时。

  • **平均响应时间:**在指定时间段内,该服务或接口请求响应耗时的平均值。其中响应耗时包含了:API网关收到请求至API网关给客户端响应这个过程的总耗时。

插件管理

查看全局插件和已发布路由插件列表。

查看插件列表

查看全局插件和已发布路由插件列表。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 全局插件”,进入插件列表页面。

通过此模块可以查看当前项目下所有绑定的插件,支持路由级插件和全局插件两种类型,路由级插件对当前路由生效,全局插件对当前项目全局生效。

添加全局插件

添加全局插件,全局插件对当前项目的所有服务和路由都生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 全局插件”,进入插件列表页面。

  4. 在插件列表页面,点击 “添加全局插件”,在弹出的对话框,选择目标网关,点击 “确认”,进入添加插件页面。

在添加插件页面,点击目标插件下的 “绑定”,进入该插件的配置页面。

  • **选择模板:**通过模块快速创建插件。

  • **同步关联:**选择私有模板后选择,打开该开关,插件配置与模板相同,不允许修改插件配置。否则,允许修改插件配置。

  • **配置参数:**插件配置,与插件类型相关。

更新插件

更新插件的配置,更新完成后插件配置变更会在网关立即生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 全局插件”,进入插件列表页面。

  4. 在插件列表页面,点击目标插件右侧 “更新”,进入插件更新页面。

  5. 在插件更新页面,完成插件配置修改,点击 “更新”,完成插件更新。

  • **选择模板:**通过模块快速创建插件。

  • **同步关联:**选择私有模板后选择,打开该开关,插件配置与模板相同,不允许修改插件配置。否则,允许修改插件配置。

  • **配置参数:**插件配置,与插件类型相关。

禁用插件

禁用已启用插件,禁用后该插件在网关不在生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 全局插件”,进入插件列表页面。

  4. 在插件列表页面,点击目标插件右侧 禁用,在弹出框点击 “确认”,完成插件禁用。

启用插件

启用已禁用插件,启用后该插件在网关立即生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 全局插件”,进入插件列表页面。

  4. 在插件列表页面,点击目标插件右侧 启用,在弹出框点击 “确认”,完成插件启用。

删除插件

删除全局或已发布路由绑定的插件。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 全局插件”,进入插件列表页面。

  4. 在插件列表页面,点击目标插件右侧 删除,在弹出框点击 “确认”,完成插件删除。

插件模板管理

插件模板用于快速创建插件。

插件模板分私有模板和公共模板,私有模板在同一个项目内共享,而公共模板跨租户共享。

查看私有模板列表

查看私有插件模板列表。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 私有模板”,进入私有模板列表页面。

创建私有模板

创建私有插件模板。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 私有模板”,进入私有模板列表页面。

  4. 在私有模板列表页面,点击 “添加模板”,进入选择插件页面。

在选择插件页面,点击目标插件下的 “选择”,进入创建模板页面。

  • **模板名称:**模板名称。

  • **备注信息:**模板的额外描述信息。

  • **配置参数:**插件配置信息,根据不同插件而不同。

更新私有模板

更新私有插件模板。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 私有模板”,进入私有模板列表页面。

  4. 在私有模板列表页面,点击目标模板右侧 “更新”,进入模板更新页面。

  • **模板名称:**模板名称。

  • **备注信息:**模板的额外描述信息。

  • **配置参数:**插件配置信息,根据不同插件而不同。

删除私有模板

删除私有插件模板,如果模板有关联的插件,则不允许删除。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 私有模板”,进入私有模板列表页面。

  4. 在私有模板列表页面,点击目标模板右侧 “删除”,在弹出框点击 “确认”,完成模板删除。

查看私有模板关联插件

查看私有插件模板关联的插件。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “插件管理 > 私有模板”,进入私有模板列表页面。

  4. 在私有模板列表页面,点击目标模板的 “模板名称”,进入私有模板详情页面。

  5. 在私有模板详情页面,点击 “关联插件Sheet页”,进入私有模板关联插件页面。

查看公共模板列表

查看公共插件模板列表。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “公共模板”,进入公共模板列表页面。

创建公共模板

创建公共插件模板。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “公共模板”,进入公共模板列表页面。

  4. 在公共模板列表页面,点击 “添加模板”,进入选择插件页面。

在选择插件页面,点击目标插件下的 “选择”,进入创建模板页面。

  • **模板名称:**模板名称。

  • **备注信息:**模板的额外描述信息。

  • **配置参数:**插件配置信息,根据不同插件而不同。

更新公共模板

更新公共插件模板。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “公共模板”,进入公共模板列表页面。

  4. 在公共模板列表页面,点击目标模板右侧 “更新”,进入模板更新页面。

删除公共模板

删除公共插件模板,如果模板有关联的插件,则不允许删除。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “公共模板”,进入公共模板列表页面。

  4. 在公共模板列表页面,点击目标模板右侧 “删除”,在弹出框点击 “确认”,完成模板删除。

网关管理

可管理线上/线下多套API网关实例,包含查看、修改、查询、网关高级配置、网关项目关联等操作。后续发布服务及路由都需要选择对应的网关。

网关归属于一个环境,该环境由服务治理平台统一管理。对于归属于某一个环境网关,可以获得该环境的配置信息,并可使用该环境中的基础服务,包括注册中心、认证中心、监控中心等。

查看网关列表

查看网关列表。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击** **“网关管理”,进入网关列表页面。

修改网关

修改网关配置信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击** **“网关管理”,进入网关列表页面。

  4. 在网关列表页面, 点击目标网关右侧 “修改”,进入网关修改页面。

  • **网关名称:**网关的名称。

  • **备注信息:**网关的额外描述信息。

设置网关源IP获取策略

修改网关获取请求源IP的策略。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击“API网关”。

  3. 在左侧API网关导航栏,单击** **“网关管理”,进入网关列表页面。

  4. 在网关列表页面, 点击目标网关右侧 “高级配置”,进入网关高级配置页面。

  • **自定义IP源:**设置从请求头获取源IP地址,如果该请求没有该请求头,则使用XFF配置。

  • **X-Forwarded-For索引:**设置源IP为XFF右起的第N个地址。 默认使用XFF最后一个IP。填写的数字范围 1-100。

查看网关关联项目

查看网关关联的项目,只有当项目关联了网关后,该项目下服务和路由才能发布到该网关。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击** **“网关管理”,进入网关列表页面。

  4. 在网关列表页面, 点击目标网关右侧 “更多” > “关联项目”,进入网关关联项目管理页面。

网关关联项目

项目关联到网关,只有当项目关联了网关后,该项目下服务和路由才能发布到该网关。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击** **“网关管理”,进入网关列表页面。

  4. 在网关列表页面, 点击目标网关右侧 “更多” > “关联项目”,进入网关关联项目管理页面。

  5. 在网关关联项目管理页面, 点击 “关联项目”,进入网关关联项目页面。

  • **租户:**项目所在的租户。

  • **项目:**需要关联当前网关的项目。

  • 关联类型:项目和网关关联的类型,域名关联为该项目分配唯一的域名,项目关联,该项目使用已有项目的域名。

  • **域名列表:**域名关联类型是配置,配置该项目使用的域名,支持多个域名。

  • **已关联项目:**项目关联类型是配置,当前项目使用已关联项目的域名,当前项目下不允许创建全局插件。

修改网关关联项目域名

修改网关关联项目域名配置信息。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击** **“网关管理”,进入网关列表页面。

  4. 在网关列表页面, 点击目标网关右侧 “更多”** > **“关联项目”,进入网关关联项目管理页面。

  5. 在网关关联项目管理页面, 点击目标项目右侧 “修改域名”,进入网关关联项目修改页面。

  • 关联类型:项目和网关关联的类型,域名关联为该项目分配唯一的域名,项目关联,该项目使用已有项目的域名。

  • **域名列表:**域名关联类型是配置,配置该项目使用的域名,支持多个域名。

  • **已关联项目:**项目关联类型是配置,当前项目使用已关联项目的域名,当前项目下不允许创建全局插件。

删除网关关联项目

删除网关关联项目,删除后该项目下服务和路由不能再发布到该网关。注意,如果该项目下的服务和路由已在该网关上发布,则无法执行取消关联操作。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击** **“网关管理”,进入网关列表页面。

  4. 在网关列表页面, 点击目标网关右侧 “更多” > “关联项目”,进入网关关联项目管理页面。

  5. 在网关关联项目管理页面, 点击目标项目右侧 “取消关联”,在弹出框点击 “确认”,完成网关关联项目删除。

网关关联项目授权管理

网关关联项目授权支持对访问该项目的用户进行授权。注意授权管理仅当该项目下绑定全局认证插件后才能生效。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击** **“网关管理”,进入网关列表页面。

  4. 在网关列表页面, 点击目标网关右侧 “更多”** **> “关联项目”,进入网关关联项目管理页面。

  5. 在网关关联项目管理页面, 点击目标项目右侧“授权管理”,进入网关关联项目的授权管理页面。

在授权管理页面,可以添加和移除授权,授权对象为【运维管理】-【外部认证】中创建的外部认证。

租户系统插件配置

百分比限流插件(ianus-percent-limit)

百分比限流插件可以按照流量比例限制每个网关节点的流量。

  • **限流百分比:**限流的流量比例,取值为0-100,例如设置为5,那么5%的请求流量将会被网关拦截掉。

本地限流插件(local-limiting)

本地限流插件可以限制每个网关节点的流量。

  • **线程独立:**是否针对线程进行限流,如果打开该字段,代表线程独立,限流规则上限为rate*线程数。

  • **限制规则列表:**支持根据不同Header进行流控配置。

    • **请求Header匹配:**根据请求Header进行匹配限流,支持配置多个Header匹配,配置多个时需要同时满足。

      • **请求Header名:**需要匹配的Header名称。

      • **匹配方式:**Header匹配方式,支持精确匹配和正则表达式匹配。

      • **取值:**Header的匹配值。

    • **每天请求数:**每天限定的请求阈值。

    • **每小时请求数:**每小时限定的请求阈值。

    • **每分钟请求数:**每分钟限定的请求阈值。

    • **每秒请求数:**每秒钟限定的请求阈值。

限流插件(ianus-rate-limiting)

限流插件可以限制网关所有节点的总流量,支持根据请求参数进行限流设置,限流插件采用令牌桶算法进行限流。

  • **限制规则列表:**支持根据不同Header进行流控配置。

    • **请求Header名:**需要匹配的Header名称,当不设置时针对当前路由进行限流。

    • **请求Header匹配:**设置请求头匹配的方式,支持配置多条,只需满足其中一条即可。

      • 匹配方式:匹配方式,支持正则匹配、正则不匹配、等于、不等于、Header存在等匹配方式。

      • 取值:Header匹配值,根据匹配方式不同,匹配值的含义也有所不同,当使用“存在”匹配方式时,invert为false,对于满足该条件的请求进行限流,invert为true,对于不满足该匹配条件的请求进行限流。

    • **每天请求数:**每天限定的请求阈值。

    • **每小时请求数:**每小时限定的请求阈值。

    • **每分钟请求数:**每分钟限定的请求阈值。

    • **每秒请求数:**每秒限定的请求阈值。

请求中断插件(ianus-route)

路由插件可以直接中断请求并自定义响应报文。

  • **动作类型:**请求处理方式,当前仅支持请求中断,即直接响应请求。

  • **中断响应:**请求中断后返回给客户端的响应报文。

    • 响应状态码:响应报文的状态码。

    • 响应内容:响应报文的Body。

IP黑白名单插件(ip-restriction)

IP黑白名单插件可以根据请求源IP对请求进行限制,支持黑白名单两种限制方式,根据限制规则可以对请求报文进行拦截或放行。

  • **黑白名单类型:**IP限制类型,设置为黑名单,如果请求的源IP地址在IP列表中,该请求就会被拦截,其他的IP地址被放行;设置为白名单,如果请求的源IP地址在IP列表中,该请求就会被放行,其他的IP地址被拦截。

  • **IP列表:**IP地址值,支持配置多个IP地址,支持掩码IP地址、IP范围等IP配置方法。

CORS插件(cors)

CORS插件支持跨域资源共享标准。

  • **Access-Control-Allow-Origin:**允许的源端,支持配置多值。

  • **Access-Control-Allow-Methods:**允许的方法,支持配置多值,支持GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS/TRACE等值。

  • **Access-Control-Allow-Headers:**允许的请求头部,支持配置多值。

  • **Access-Control-Expose-Headers:**允许暴露给外部的头部,支持配置多值。

  • **Access-Control-Allow-Credentials:**是否允许发送Cookie。

  • **Access-Control-Max-Age:**预检请求结果可以缓存多久,单位是秒。

JSONP插件(jsonp)

JSONP插件支持JSONP跨域访问规范。

  • **callback:**前端回调方法。

请求Path重写插件(rewrite)

请求Path重写插件会在请求转发给后端服务之前修改请求Path的前缀。

  • **重写前的path前缀:**请求path重写之前的path前缀值,对于符合该path前缀的请求,网关会执行path重写操作,例如上述配置,对于/servicea/hello/***的请求,会进行path重写操作。

  • **重新后的path前缀:**请求path前缀修改后的值,例如上述配置,/servicea/hello/***的请求,网关会将path重写为/hello/***,其中“***”为任意符合path定义的字符串;如果不配置,则网关会在path中删除重写前的path前缀值,然后转发给后端服务。

缓存插件(cache)

缓存插件支持根据请求参数以及响应参数保存请求的响应信息,当网关下次接收的请求匹配请求参数时,网关在缓存中查找响应信息,如果匹配到响应信息,直接返回缓存信息。

  • **选择模板:**可以选择提前创建的模板作为配置。

  • **缓存条件/请求:**根据请求参数进行缓存,即满足配置的请求才进行缓存。

    • 是否使用请求进行匹配:根据请求进行缓存开关。

    • 请求方法:请求方法匹配,支持GET和HEAD。

    • **请求路径:**请求路径匹配。

      • **匹配方式:**请求路径匹配方式,支持精确匹配和正则匹配。

      • **取值:**请求路径匹配值。

    • **域名:**域名匹配。

      • **匹配方式:**域名匹配方式,支持精确匹配和正则匹配。

      • **取值:**域名匹配值。

    • **请求头:**请求头匹配,支持多个请求匹配,配置多个请求头时需要同时满足多个匹配条件。

      • **请求头:**请求头名称。

      • **匹配方式:**请求头匹配方式,支持精确匹配、正则匹配、参数存在则匹配、参数不存在则匹配。

      • **取值:**请求头匹配值。

  • **缓存条件/响应:**根据响应进行缓存,即满足配置的响应才进行缓存。

    • **是否使用响应进行匹配:**根据响应进行缓存开关。

    • **状态码:**根据状态码进行匹配。

      • **匹配方式:**状态码匹配方式,支持精确匹配和正则匹配。

      • **取值:**状态码匹配值。

    • **响应头:**根据响应头进行匹配。

      • **响应头名称:**响应头名称。

      • **匹配方式:**响应头匹配方式,支持精确匹配、正则匹配、参数存在则匹配、参数不存在则匹配。

      • **取值:**响应头匹配值。

  • **缓存ttl/本地缓存ttl:**本地缓存ttl配置。

    • 默认ttl:默认ttl值,设置为0时不使用缓存。

    • 定制化ttl配置:根据响应状态码设置不同的ttl值。

      • 响应状态码:响应状态码。

      • ttl:ttl值。

  • **缓存ttl/redis缓存ttl:**redis缓存ttl配置。

    • 默认ttl:默认ttl值,设置为0时不使用redis缓存。

    • 定制化ttl配置:根据响应状态码设置不同的ttl值。

      • 响应状态码:响应状态码。

      • ttl:ttl值。

  • **缓存key设置/host不参与key设置:**host是否参与缓存key计算开关,打开则不参与,即不同的host使用相同的缓存项。

  • **缓存key设置/key忽略大小写:**计算key时是否忽略大小开关,如果打开,即计算key时不区分大小写。

  • **缓存key设置/query string 参数:**计算key时加入query string,可以根据query string的值使用不同的缓存,支持配置多个query string。

  • **缓存key设置/请求头:**计算key时加入请求header,可以根据请求header的值使用不同的缓存,支持配置多个请求header。

  • 次级缓存填充: 次级缓存同步开关,当本地缓存未命中时,在redis缓存中命中,如果打开,redis缓存将会同步到本地缓存中;否则不同步。


请求转换插件(transform)

请求转换插件会在请求转发给后端服务前进行修改,支持修改请求Header、Query String和Path。

  • **选择模板:**可以选择提前创建的模板作为配置。

  • **请求头转换:**请求头转换配置。

    • **Header名称:**请求头名称。

    • **请求动作:**请求头转换操作,支持增加或更新、增加、更新和删除。

    • **取值:**请求头的取值,支持从请求的header(取值方式:“\{\{headers[headerKey]\}\}”)、query string(取值方式:“\{\{querystrings[param]\}\}”)和path(取值方式:“\{\{path[0-n]\}\}”)中取值。

  • **请求参数:**请求参数转换配置。

    • **请求参数:**请求参数名称。

    • **请求动作:**请求参数转换操作,支持增加或更新、增加、更新和删除。

    • **取值:**请求参数取值,支持从请求的header(取值方式:“\{\{headers[headerKey]\}\}”)、query string(取值方式:“\{\{querystrings[param]\}\}”)和path(取值方式:“\{\{path[0-n]\}\}”)中取值。

  • **是否path转换:**是否进行path转换开关。

  • **重写path:**path修改后的值,支持从请求的header(取值方式:“\{\{headers[headerKey]\}\}”)、query string(取值方式:“\{\{querystrings[param]\}\}”)和path(取值方式:“\{\{path[0-n]\}\}”)中取值。

静态降级插件(static-downgrade)

静态降级插件根据请求响应的状态码,当符合降级规则时,网关使用用户设置的响应包返回给客户端。

  • **选择模板:**可以选择提前创建的模板作为配置。

  • **静态降级条件/请求:**设置根据请求进行降级,如果不设置则对路由下的所有请求都生效,如果设置仅对匹配该设置的请求进行降级处理。

    • 是否使用请求进行匹配:根据请求进行降级开关。

    • 请求方法:请求方法匹配,支持GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS/TRACE/CONNECT等值。

    • **请求路径:**请求路径匹配。

      • **匹配方式:**请求路径匹配方式,支持精确匹配和正则匹配。

      • **取值:**请求路径匹配值。

    • **域名:**域名匹配。

      • **匹配方式:**域名匹配方式,支持精确匹配和正则匹配。

      • **取值:**域名匹配值。

    • **请求头:**请求头匹配,支持多个请求匹配,配置多个请求头时需要同时满足多个匹配条件。

      • **请求头:**请求头名称。

      • **匹配方式:**请求头匹配方式,支持精确匹配和正则匹配。

      • **取值:**请求头匹配值。

  • **静态降级条件/响应:**根据状态报文进行匹配,仅对符合要求的响应报文进行降级。

    • **响应状态码:**根据状态码进行匹配。

      • **匹配方式:**状态码匹配方式,支持精确匹配和正则匹配。

      • **取值:**状态码匹配值。

    • **响应头:**根据响应头进行匹配。

      • **响应头名称:**响应头名称。

      • **匹配方式:**响应头匹配方式,支持精确匹配和正则匹配。

      • **取值:**响应头匹配值。

  • **降级后响应内容/响应状态码:**响应报文的状态码。

  • 降级后响应内容/响应头:响应报文的响应头,支持配置多个值。

    • **响应头名称:**响应头名称。

    • **响应头值:**响应头值。

  • 降级后响应内容/请求响应内容:响应报文的body。

动态降级插件(dynamic-downgrade)

动态降级插件根据请求响应的状态码,使用缓存的响应报文转发给客户端或者转发请求给降级服务并将降级服务的响应报文转发给客户端。

  • **选择模板:**可以选择提前创建的模板作为配置。

  • **动态降级条件/请求:**设置根据请求进行降级,如果不设置则对路由下的所有请求都生效,如果设置仅对匹配该设置的请求进行降级处理。

    • 是否使用请求进行匹配:根据请求进行降级开关。

    • 请求方法:请求方法匹配,支持GET和HEAD。

    • **请求路径:**请求路径匹配。

      • **匹配方式:**请求路径匹配方式,支持精确匹配和正则匹配。

      • **取值:**请求路径匹配值。

    • **域名:**域名匹配。

      • **匹配方式:**域名匹配方式,支持精确匹配和正则匹配。

      • **取值:**域名匹配值。

    • **请求头:**请求头匹配,支持多个请求匹配,配置多个请求头时需要同时满足多个匹配条件。

      • 请求头:请求头名称。

      • 匹配方式:请求头匹配方式,支持精确匹配和正则匹配。

      • 取值:请求头匹配值。

  • **动态降级条件/响应:**根据状态报文进行匹配,仅对符合要求的响应报文进行降级。

    • 是否使用响应进行匹配:根据响应进行降级开关。

    • **状态码:**根据状态码进行匹配。

      • **匹配方式:**状态码匹配方式,支持精确匹配和正则匹配。

      • **取值:**状态码匹配值。

    • **响应头:**根据响应头进行匹配。

      • **响应头:**响应头名称。

      • **匹配方式:**响应头匹配方式,支持精确匹配和正则匹配。

      • **取值:**响应头匹配值。

  • 动态降级类型:降级类型,支持缓存降级和接口降级,当满足降级条件时,缓存降级将会返回缓存信息给客户端,而接口降级网关会转发请求给降级服务。

  • **接口降级配置/接口降级uri:**降级接口的uri值,例如http://192.102.21.86/order/getPrice

  • **接口降级配置/降级服务配置:**降级接口的服务配置,如果不配置则使用全局的降级服务。

    • 降级服务cluster:服务cluster名称(通过kubectl exec -it {gateway-proxy-pod} -n gateway-system — curl localhost:20000/config_dump >dump.txt,在dump.txt查找对应的order/gerPrice所对应的cluster)。。

    • 接口降级超时时间:降级接口超时时间,单位为秒。

  • 降级缓存配置/缓存条件:响应报文的缓存条件配置,只有当响应报文符合缓存条件时才进行缓存。

    • **是否使用响应进行匹配:**根据响应进行缓存开关。

    • **响应状态码:**根据状态码进行匹配。

      • **匹配方式:**状态码匹配方式,支持精确匹配和正则匹配。

      • **取值:**状态码匹配值。

    • **响应头:**根据响应头进行匹配,支持配置多值,配置多值时表示要同时匹配多个响应头。

      • **响应头:**响应头名称。

      • **匹配方式:**响应头匹配方式,支持精确匹配和正则匹配。

      • **取值:**响应头匹配值。

  • 降级缓存配置/redis缓存ttl:redis缓存ttl设置。

    • 默认ttl:默认ttl值,单位为秒,如果设置为0则不使用缓存。
  • 降级缓存配置/缓存key设置:缓存key设置。

    • **key忽略大小写:**计算key时是否忽略大小,如果打开,即计算key时不区分大小写。

    • **query string 参数:**计算key时加入query string,可以根据query string的值使用不同的缓存,支持配置多个query string。

    • **请求头:**计算key时加入请求header,可以根据请求header的值使用不同的缓存,支持配置多个请求header。

认证插件(super-auth)

认证插件将对请求的认证信息进行认证,同时支持认证鉴权,当认证失败或鉴权失败时,网关直接返回错误信息给客户端。

  • **选择模板:**可以选择提前创建的模板作为配置。

  • 认证类型:认证类型,支持网关签名认证、jwt认证和OAuth2认证。

  • **鉴权:**请求鉴权开关,如果打开,则会对该请求进行权限校验。网关支持在已发布路由、已发布服务和网关关联项目等对象对外部认证进行授权。

  • **允许匿名访问:**允许匿名访问开关,如果打开,请求中未携带认证信息或者认证失败,网关均会转发请求给后端服务。

  • 认证缓存:认证缓存开关

    • 缓存配置:配置认证缓存相关信息,包括缓存key以及缓存ttl。

      • 缓存key配置:配置缓存key。

      • 缓存ttl配置:指定缓存时间,单位ms。

JWT认证
获取JWT的Token

JWT的Token获取服务已经通过网关暴露,因此,通过 {gw_addr}/common/createJwt调用获取Token,其中gw_addr为网关地址.

请求地址:http://sgp-test.chinapost.com.cn/common/createJwt

备注:hosts配置 192.102.21.86 sgp-test.chinapost.com.cn

请求参数:

参数名称说明参数类型是否必填备注
issJWT认证用户IDString
sign秘钥/PublicKeyString
type加密算法:HS256String

请求报文:

{
	"iss": "73c00811be6b4f6cb4992878b48a43bb",
	"sign": "f51aa6e1e9c74832adfba0f4a00bbe5d",
	"type": "HS256"
}

返回参数:

参数名称说明参数类型是否必填备注
AuthorizationTOKENString

返回报文:

{
 "Authorization": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI3M2MwMDgxMWJlNmI0ZjZjYjQ5OTI4NzhiNDhhNDNiYiJ9.s-dtCE3Xf9SkzvO0mfFmaXFZZcFpa4aMIn8lc18pvFw"
}
调用业务路由进行认证鉴权

调用业务路由时需要在请求头添加'Authorization:{token}',token为通过JWT的Token获取服务获取的Token

image-20240716134528376

oauth2认证
外部认证添加认证信息

image-20240716134632739

image-20240716134648055

通过鉴权服务接口获取Token2

鉴权服务已经通过网关暴露,因此,通过{gw_addr}/oauth2?Action=GenToken&Version=2019-10-08&ClientId={ClientId}&ClientSecret={ClientSecret}调用获取Token,其中gw_addr为网关地址,ClientId,ClientSecret为微服务治理平台创建好的客户端ID和客户端密钥。调用成功后,响应头中的x-oauth2-token为认证Token,x-oauth2-expire-time为Token的过期时间。

请求地址:

http://sgp-test.chinapost.com.cn/oauth2?Action=GenToken&Version=2019-10-08&ClientId=d6f725c7ab5744e8bcb40846d7f90b2f&ClientSecret=6cfdba6a9cd249f6b13cb2b33833bb96

备注:hosts配置 192.102.21.86 sgp-test.chinapost.com.cn

请求参数:

参数名称说明参数类型是否必填备注
ClientId客户端IDString
ClientSecret客户端秘钥String
Action加密算法:HS256String
Version2019-10-08String

返回header信息:

参数名称说明参数类型是否必填备注
x-oauth2-tokeTOKENString
x-oauth2-expire-timeToken的过期时间
调用业务路由进行认证鉴权

调用业务路由时需要在请求头添加'Authorization:{token}',token为通过鉴权服务接口获取的Token

image-20240716134717658

熔断插件(circuit-breaker)

熔断插件在后端服务异常时,阻止客户端请求,不转发请求给后端服务,直接根据用户设置的响应报文返回给客户端。

  • **选择模板:**可以选择提前创建的模板作为配置。

  • 熔断触发条件:熔断触发条件,支持错误率和RT两种触发类型。

  • **错误率触发熔断:**错误率触发熔断条件配置,仅当熔断触发条件选中错误率触发熔断时配置。

    • **错误百分比阈值:**熔断触发的错误百分比阈值,当实际错误率超过该阈值时可能触发熔断。

    • **最小错误数:**至少达到该错误数才能触发熔断。

  • RT触发熔断:RT触发熔断条件配置,仅当熔断触发条件选中RT触发时配置。

    • 慢响应时间阈值:慢响应时间阈值,当实际响应时间超过该阈值时,认为该请求响应为慢响应,单位为秒。

    • 连续慢响应次数:连续慢响应次数阈值,当实际慢响应次数超过该阈值时,触发熔断。

  • **统计时间窗口:**网关在计算熔断触发条件的时间窗口,单位为秒。

  • **熔断惩罚时间:**熔断触发后,网关在该时间内不会转发请求给后端服务,单位为秒。

  • **定制响应:**熔断触发后,响应给客户端的响应报文。

    • **响应状态码:**响应报文的状态码。

    • 响应头:响应报文的响应头,支持配置多个值。

      • **响应头名称:**响应头名称。

      • **响应头值:**响应头值。

      • **响应内容:**响应报文的body。

gRPC协议转换

将gRPC服务对外以REST接口暴露,主要涉及如下步骤:

  1. 创建gRPC服务。

  2. 发布gRPC服务。

  3. 已发布gRPC服务导入PB文件,并确定待开发的Service。

  4. 创建路由,路由所属服务为上述gRPC服务。

  5. 发布路由。

创建grpc服务

创建gRPC服务。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”。

  4. 在服务管理列表页面,单击 “+创建服务”,进入服务创建页面。

  • **服务类型:**选择gRPC。

  • **服务名称:**服务名称,支持中文和英文。

  • **服务标识:**服务唯一标识,不支持中文。

  • **负责人:**服务负责人。

  • **备注信息:**服务额外的信息说明。

发布gRPC服务

发布gRPC服务。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”。

  4. 在服务管理列表页面,单击服务右侧 “发布”,进入服务发布页面。

  • **目标网关:**服务发布的目标网关。

  • **发布方式:**服务发布方式,gRPC服务仅支持静态地址发布方式。

  • **服务协议:**静态地址发布后端发布的协议。

  • **服务地址:**后端gRPC服务地址,支持配置多个。

已发布gRPC服务开放Service

已发布gRPC服务导入PB文件,并选择开发的Service。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息” > “已发布服务”。

  4. 在已发布服务列表页面,单击服务名称,进入已发布服务详情页面。

  5. 在已发布服务详情页面,单击 “gRPC Sheet页”,进入gRPC转换配置页面。

  6. 在gRPC转换配置页面,完成配置后,单击 “保存并发布”。

  • **PB文件:**选择本地的PB文件。

  • **暴露的Service列表:**选择需要对外暴露的Service,支持选择多个。

创建路由

创建路由。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”。

  4. 在路由管理列表页面,单击 “+创建路由”,进入路由创建页面。

  • **所属服务:**路由的所属服务,选择第一步创建gRPC服务。

  • **路由名称:**路由名称。

  • **Path:**路由Path匹配规则,“匹配方式”设置为精确匹配,“条件取值”设置为某个需要转换的方法,有两种设置方式: (1) 设置为“/{package_name}.{service_name}/{method_name}”;(2) 设置为方法的option (google.api.http)属性中设置的路径值。

发布路由

发布路由。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”。

  4. 在路由管理列表页面,单击路由右侧 “发布”,进入路由发布页面。

  5. 在路由发布页面,选择目标网关,其余参数默认,单击 “发布”。

Dubbo协议转换

将Dubbo服务对外以REST接口暴露,主要涉及如下步骤:

  1. 创建Dubbo服务。

  2. 发布Dubbo服务。

  3. 创建路由,路由所属服务为上述Dubbo服务。

  4. 发布路由。

  5. 配置路由协议转换。

创建Dubbo服务

创建Dubbo服务。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”。

  4. 在服务管理列表页面,单击 “+创建服务”,进入服务创建页面。

  • **服务类型:**选择Dubbo。

  • **服务名称:**服务名称,支持中文和英文。

  • **服务标识:**服务唯一标识,不支持中文。

  • **负责人:**服务负责人。

  • **备注信息:**服务额外的信息说明。

发布Dubbo服务

发布Dubbo服务。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”。

  4. 在服务管理列表页面,单击服务右侧 “发布”,进入服务发布页面。

  • **目标网关:**服务发布的目标网关。

  • **发布方式:**服务发布方式,Dubbo服务仅支持从注册中心同步。

  • **注册中心:**当方式为从注册中心同步时设置,Dubbo服务发布仅支持Zookeeper注册中心。

  • **应用名称:**选择需要转换为REST接口的Dubbo应用。

创建路由

创建路由。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”。

  4. 在路由管理列表页面,单击 “+创建路由”,进入路由创建页面。

  • **所属服务:**路由的所属服务,选择第一步创建Dubbo服务。

  • **路由名称:**路由名称。

  • **Path:**路由Path匹配规则,“匹配方式”设置为精确匹配,“条件取值”设置为对外暴露path值。

发布路由

发布路由。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”。

  4. 在路由管理列表页面,单击路由右侧 “发布”,进入路由发布页面。

  5. 在路由发布页面,选择目标网关,其余参数默认,单击 “发布”。

已发布路由设置协议转换

已发布路由设置协议转换。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息” > “已发布路由”。

  4. 在已发布路由管理列表页面,单击已发布路由右侧 “更多” > “协议转换”,进入已发布路由协议转换页面。

  5. 在已发布路由协议转换页面,单击 “+添加”,进入添加Dubbo协议转换页面。

  • **方法名:**对应的Dubbo method。

  • **参数:**http请求到Dubbo method的参数映射,由序号、名称和类型三个部分组成。 序号表示Dubbo method的参数序号,从1开始。名称代表从HTTP请求body中获取参数的方式,示例中“message”表示从HTTP请求body中获取key为message的参数。类型为Dubbo method中参数的类型。

Web Service协议转换

创建Web Service服务

创建Web Service服务。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”。

  4. 在服务管理列表页面,单击 “+创建服务”,进入服务创建页面。

  • **服务类型:**选择WebService。

  • **服务名称:**服务名称,支持中文和英文。

  • **服务标识:**服务唯一标识,不支持中文。

  • **负责人:**服务负责人。

  • **备注信息:**服务额外的信息说明。

发布Web Service服务

发布Web Service服务。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “服务管理”。

  4. 在服务管理列表页面,单击服务右侧 “发布”,进入服务发布页面。

  • **目标网关:**服务发布的目标网关。

  • **发布方式:**服务发布方式,从注册中心同步或静态地址。

  • **注册中心:**当方式为从注册中心同步时设置,Web Service服务发布仅支持K8S注册中心。

  • **应用名称:**选择需要转换为REST接口的Web Service应用。

已发布Web Service服务导入WSDL

已发布Web Service服务导入WSDL。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息” > “已发布服务”。

  4. 在已发布服务列表页面,单击服务名称,进入已发布服务详情页面。

  5. 在已发布服务详情页面,单击 “WebService Sheet页”,进入WebService管理页面。

  6. 在WebService管理页面,单击 “导入WSDL文件”,选择本地WSDL文件。

创建路由

创建路由。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”。

  4. 在路由管理列表页面,单击 “+创建路由”,进入路由创建页面。

  • **所属服务:**路由的所属服务,选择第一步创建Web Service服务。

  • **路由名称:**路由名称。

  • **Path:**路由Path匹配规则,“匹配方式”设置为精确匹配,“条件取值”设置为对外暴露path值。

发布路由

发布路由。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “路由管理”。

  4. 在路由管理列表页面,单击路由右侧 “发布”,进入路由发布页面。

  5. 在路由发布页面,选择目标网关,其余参数默认,单击 “发布”。

已发布路由设置协议转换

已发布路由设置协议转换。

操作步骤

  1. 登录 “微服务治理平台”。

  2. 在左侧导航栏,单击 “API网关”。

  3. 在左侧API网关导航栏,单击 “已发布信息” > “已发布路由”。

  4. 在已发布路由管理列表页面,单击已发布路由右侧 “更多” > “协议转换”,进入已发布路由协议转换页面。

  5. 在已发布路由协议转换页面,单击 “+添加”,进入添加Web Service协议转换页面。

  • **Operation:**对应的Web Service 方法。

  • **请求转换模板:**HTTP请求body转化为Web Service请求结构设置,设置好Operation后,点击自动生成模板后自动生成默认转换模板,如果默认转换模板不满足要求,可以手工修改。

  • **响应转换:**将响应XML未声明为数组的Element转换为数组,如果已经声明为数组则不需要配置。

上次更新: