有奖捉虫:行业应用 & 管理与支持文档专题 HOT

操作场景

微服务网关通过分组管理微服务 API。分组是微服务网关管理 API 的维度,同一个分组下的 API 使用相同的鉴权方法,使用相同的一个或者多个密钥进行访问鉴权。每一个分组有一个固定的 context 作为访问路径中的 path 参数。

前提条件

新建分组

1. 登录 TSF 控制台
2. 在左侧菜单栏选择微服务网关 > 网关管理,进入微服务网关列表页面。
3. 选择好地域后单击目标网关操作栏的配置分组与 API,进入分组管理页面。
4. 单击新建分组,填写分组信息。
分组名称: 最长为60个字符,只能包含小写字母、数字及分隔符(_-),且不能以分隔符开头或结尾。
访问 context:调用分组API所需参数,调用时需在访问路径中填写Context。
托管 API 类型:当前微服务网关可以托管两种不同类型的 API。
微服务 API:即部署在 TSF 上的微服务的 API。
外部 API:即后端服务未部署在 TSF 上或未注册到 TSF 的注册中心的服务的 API。托管外部 API 时,需要用户手动填写后端服务的 Host 地址。
鉴权类型:密钥鉴权或无鉴权。当选择密钥对鉴权时,请求参数中不带正确的 SecretId 和签名的访问会被拒绝。
访问参数设置:
命名空间:调用分组API所需参数,支持 Path,Header,Query 三种参数位置,调用时需在指定位置上填写命名空间名称。
微服务名称:调用分组API所需参数,支持 Path,Header,Query 三种参数位置,调用时需在指定位置上填写微服务名称。
5. 单击保存&下一步,将分组与微服务网关应用的部署组进行绑定。
注意
当微服务网关作为微服务内部调用网关时,建议绑定微服务下全部部署组。当微服务网关作为外部与微服务间调用的外部网关时,可以选择将某个分组与某个或全部部署组绑定,通过访问部署组域名或 IP 来访问网关托管的 API。
只有将网关应用的部署组与分组绑定后,才能保证访问部署组 IP 后与对应 API path 访问畅通。
此处分组绑定的部署组是微服务网关应用的部署组,也就是用作部署网关的节点所在的部署组。并非后端微服务的部署组。
同一个微服务网关部署组请使用不同的分组 context。
6. 新建分组成功后,单击分组的“ID”,进入访问信息页,可查看分组的基本信息,访问方式,并对绑定部署组和密钥进行操作管理。



新建 API

微服务 API
外部API
微服务 API 即部署在 TSF 上的微服务的 API。
1. 在分组管理列表页面,选择API 管理 页签,选择好分组后单击新建 API
命名空间:选择微服务所在的命名空间。
微服务:选择需要导入 API 的微服务
导入类型:支持3种导入方式。
导入微服务 API:导入某个微服务当下的全部 API,如果后续该服务有新增的 API 需要重新进行导入。
导入部分 API:导入某个微服务下部分 API。
手动填写 API:用于对某服务下的所有接口进行放通或者按照某种通配规则进行放通,适用于API 频繁变动的场景,如开发联调等。需选择请求方法并填写请求路径。
1.1.1.1 不能为空,最长128字符。
1.1.1.2 支持"/"开头,大小写字母、数字、和$-_.+!'(),/%等符合URL规则的符号。
1.1.1.3 支持*(匹配0或者任意数量的字符)**(匹配0或者更多的目录)通配多个路径。
1.1.1.4 Path类型的请求参数必须以包裹,作为独立部分包含在路径中(示例:/{param}/)。


2. 单击确认,等待导入完成后,可以在 API 列表看到导入的 API。
说明
当同时导入某个微服务下全部 API 时,后台导入完成前请勿重复导入。
单部署组最多支持创建2000个API,超出后不保证发布成功。

即后端服务未部署在 TSF 上或未注册到 TSF 的注册中心的服务的 API。托管外部 API 时,需要用户手动填写后端服务的 Host 地址。
1. 在分组管理列表页面,选择 API 管理 页签,选择好分组后单击新建 API
2. 填写请求路径、请求方法以及 host 地址。


3. 单击提交,完成导入。

发布/下线分组

当且仅当分组被发布时,才能通过微服务网关访问微服务 API
导入 API 后,单击分组操作列的发布分组,该分组即可被发布。
如果某一个分组不想被访问,可以单击操作列的下线分组,将分组下线。

访问微服务 API

分组下某个微服务 API 的访问路径为:网关的域名或网关的 IP + port/API 访问路径。API 完整访问路径拼接规则如下:
访问 context
命名空间参数位置
微服务名称参数位置
API 访问路径
path
path
path
/context/命名空间名称/微服务名称/api 路径
path
header/query
path
/context/微服务名称/apipath
path
header/query
header/query
/context/apipath

举例:

当参数均为 Path 参数时,且分组 context 为 sell,命名空间为 test-env,微服务名称为 consumer,API 路径为/echo/slow/{param}时,则访问路径为域名/sell/test-env/consumer/echo/slow/{param}
在 API 列表页面单击 API 路径后面的复制按钮,会自动复制从 context 开始的路径。



说明:
API 访问路径不支持中文,如访问路径包含中文,建议修改后重试。

访问外部 API

访问外部 API 的路径为:微服务网关域名或 VIP 或服务名(仅当客户端为注册到 TSF 中的微服务时可以通过网关服务名访问)/ 分组 context / API 路径
说明:
API 访问路径不支持中文,如访问路径包含中文,建议修改后重试。

微服务网关域名

在用户公有云场景下,需要用户将部署网关的节点的 IP 配置在 DNS 或 LB 上,以获取统一的访问网关的统一域名或统一 VIP。
对于虚拟机部署组,用户可以将虚拟机部署组的机器 IP 绑定在 CLB 后端。
对于容器部署组,用户可以设置容器部署组的访问方式为公网访问。