分组与API管理

最近更新时间: 2024-09-05 15:09:00

操作场景

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

操作步骤

新建分组

  1. 登录 TSF 控制台

  2. 在左侧菜单栏选择【微服务网关】>【网关管理】。

  3. 在微服务网关详情页,单击【分组管理】>【新建分组】,填写分组信息。

  • 分组名称: 最长为60个字符,只能包含小写字母、数字及分隔符(_-),且不能以分隔符开头或结尾。

  • 访问 context:context 是用户访问网关管理的某一个 API 的路径的路径参数。以“/”开头,不能为空。

  • 托管 API 类型:当前微服务网关可以托管两种不同类型的 API。

  • 微服务 API,即部署在 TSF 上的微服务的 API

  • 外部 API,即后端服务未部署在 TSF 上或未注册到 TSF 的注册中心的服务的 API。托管外部 API 时,需要用户手动填写后端服务的 Host 地址。

  • 鉴权类型:密钥鉴权或无鉴权。当选择密钥对鉴权时,请求参数中不带正确的 SecretId 和签名的访问会被拒绝。 img

  1. 单击【保存&下一步】,将分组与微服务网关应用的部署组进行绑定。

注意:

  • 当微服务网关作为微服务内部调用网关时,建议绑定微服务下全部部署组。当微服务网关作为外部与微服务间调用的外部网关时,可以选择将某个分组与某个或全部部署组绑定,通过访问部署组域名或IP来访问网关托管的API。
  • 只有将网关应用的部署组与分组绑定后,才能保证访问部署组 IP 后与对应 API path 访问畅通。
  • 此处分组绑定的部署组是微服务网关应用的部署组,也就是用作部署网关的节点所在的部署组。并非后端微服务的部署组。
  • 单个微服务网关部署组不能绑定多个 context 相同的分组。
  1. 新建分组成功后,单击分组ID/名称,进入访问信息页,可查看分组的基本信息,并对绑定部署组和密钥进行操作管理。

删除分组

在【分组管理】页面,单击目标分组操作列的【删除】,即可删除分组。

注意:

如果分组下有 API,则该分组不能被删除。

导入 API

  1. 在左侧菜单栏选择【微服务网关】>【网关管理】。

  2. 在微服务网关详情页,点击顶部【API管理】,选择【导入API】,将某个微服务下的 API 导入分组。

  • 微服务 API: 支持两种导入方式:导入某个微服务下全部 API 和导入某个微服务下部分 API。 img

注意:

  • 当同时导入某个微服务下全部 API 时,后台导入完成前请勿重复导入。
  • 单部署组最多支持创建2000个API,超出后不保证发布成功。
  • 外部 API: 填写请求路径、请求方法以及 host 地址。

注意:

可以为外部 API 配置超时时间。

发布/下线分组

当且仅当分组被发布时,才能通过微服务网关访问微服务 API

  • 导入 API 后,单击操作列的【发布分组】,该分组即可被发布。

  • 如果某一个分组不想被访问,可以单击操作列的【下线分组】,将分组下线。

访问微服务 API

分组下某个微服务 API 的访问路径为:网关的域名或网关的 IP+port/分组 context/微服务 API 所在的微服务命名空间名称/微服务名称/API 路径

举例:当分组 context 为 sell,所在命名空间为 test-env,微服务名称为 consumer,API 路径为/echo/{test}时,则访问路径为域名/sell/test-env/consumer/echo/{test}。 单击 API 路径后面的复制按钮,会自动复制从 context 以后的路径。 粘贴后的内容为/sell/test/provider-demo/v1/user/delete/user

访问外部 API

访问外部 API 的路径为:微服务网关域名或 VIP 或服务名(仅当客户端为注册到 TSF 中的微服务时可以通过网关服务名访问)/分组 context/API 路径

微服务网关域名

在用户公有云场景下,需要用户将部署网关的节点的 IP 配置在 DNS 或 LB 上,以获取统一的访问网关的统一域名或统一 VIP。

  • 对于虚拟机部署组,用户可以将虚拟机部署组的机器 IP 绑定在 CLB 后端。

  • 对于容器部署组,用户可以设置容器部署组的访问方式为公网访问。