微服务平台 TSF 配置分组与 API

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

相关产品
微服务平台 TSF 产品页,含版本规格、价格与购买入口。

一、操作场景

注意:说明:

注意:1. 仅专业版和铂金版支持使用 Java 网关,具体说明详细参见 版本对比。

注意:2. 仅使用 TSF-Consul 注册中心的用户支持使用 Java 网关。

二、前提条件

已部署好微服务网关。

三、新建分组

1. 登录 腾讯微服务平台控制台。

2. 在左侧菜单栏选择应用管理 > 中间件应用,进入中间件应用列表页面。

3. 选择好地域后,单击目标应用 ID,进入应用详情页。

4. 单击 Java网关实例菜单栏,查看网关实例列表。

5. 单击目标实例操作栏的配置分组与 API,进入分组管理页面。

6. 单击新建分组,填写分组信息。

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

·访问 context:调用分组API所需参数,调用时需在访问路径中填写Context。

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

·微服务 API:即部署在 TSF 上的微服务的 API。

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

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

·访问参数设置:

·命名空间:调用分组API所需参数,支持 Path,Header,Query 三种参数位置,调用时需在指定位置上填写命名空间名称。

·微服务名称:调用分组API所需参数,支持 Path,Header,Query 三种参数位置,调用时需在指定位置上填写微服务名称。

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

8. 新建分组成功后,单击分组的“ID”,进入访问信息页,可查看分组的基本信息,访问方式,并对绑定部署组和密钥进行操作管理。

四、新建 API

微服务 API外部 API

微服务 API 即部署在 TSF 上的微服务的 API。

1. 选择需要进行 API 配置的分组,进入分组详情页。

2. 在分组详情页,选择 API 列表 页签,单击新建 API。

·导入类型:支持3种导入方式。

·导入微服务 API:导入某个微服务当下的全部 API,如果后续该服务有新增的 API 需要重新进行导入。

·导入部分 API:导入某个微服务下部分 API。

·手动填写 API:用于对某服务下的所有接口进行放通或者按照某种通配规则进行放通,适用于API 频繁变动的场景,例如开发联调等。需选择请求方法并填写请求路径。请求路径不能为空,最长128字符,支持"/"开头,大小写字母、数字、和$-_.+!'(),/%等符合 URL 规则的符号,支持*(匹配0或者任意数量的字符)**(匹配0或者更多的目录)通配多个路径,Path 类型的请求参数必须以包裹,作为独立部分包含在路径中(示例:/{param}/)。

·命名空间:选择微服务所在的命名空间。

·微服务:选择需要导入 API 的微服务

3. 单击确认,等待导入完成后,可以在 API 列表看到导入的 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 后端。

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

赞 (0)
上一篇 4天前
下一篇 4天前