为应用设置路由规则(API网关)

如果您的业务请求需要分发给其他服务或者应用,您可以为应用配置网关路由功能,实现请求路由分发。本文介绍如何通过云原生API 网关为您的应用设置路由规则。

背景信息

云原生API 网关是一种集成了流量网关、微服务网关、安全网关以及AI网关功能的统一架构解决方案,旨在解决传统网关分散管理带来的挑战。通过使用云原生API网关,开发者可以更容易地实现服务发现、负载均衡以及跨服务通信的管理,从而简化了复杂分布式系统的开发与维护过程。更多信息,请参见什么是云原生API网关

前提条件

  • MSE

  • SAE

    • 您已创建命名空间,并确保云原生API 网关SAE命名空间处于同一地域,且绑定同一个VPC。具体操作,请参见创建命名空间

    • 您已创建应用。

创建路由规则

  1. 登录SAE控制台,在左侧导航栏,单击命名空间,在顶部菜单栏选择地域,然后在命名空间页面,单击目标命名空间名称。

    image

  2. 在左侧导航栏,单击网关路由,然后在网关路由页面,单击创建网关路由

  3. 创建路由页面,配置相关信息,然后单击保存

    配置项

    描述

    示例

    路由名称

    路由规则名称,自定义。

    demo

    网络类型

    选择待转发请求的网络类型。

    • 公网:通过公网网关转发的请求,按照实际转发流量计费。

    • 私网:通过私网网关转发的请求不计费,仅在当前VPC内部转发。

    公网

    网关类型

    选择云原生API网关

    云原生API网关

    网关实例

    网关类型选择云原生API网关时需要配置。选择与命名空间同一地域且使用同一VPC的网关实例。如果您需要创建新的网关实例,可以单击创建云原生API网关进行创建。具体操作,请参见创建云原生API网关实例

    demo

    域名

    选择需要匹配的域名,支持选择多个域名。如果您需要创建新的域名,可以单击创建域名进行创建。具体操作,请参见创建域名

    www.demo.com

    路径(Path)

    设置匹配HTTP请求中的Path参数。

    • 相同匹配规则时,Path越长优先级越高。

    • 不同匹配规则时,等于 > 前缀是 > 正则匹配

      • 等于:即完全匹配。例如,Path等于/user

      • 前缀是:以前缀作为匹配条件。例如,Path/user开头。

      • 正则匹配:以正则表达式作为匹配条件。例如,字符类user

    • 条件:前缀是

    • 路径:/user

    方法(Method)

    设置匹配HTTP请求中的Method参数,不填表示匹配所有参数,支持选择多种HTTP方法。

    GET

    请求头(Header)

    设置匹配HTTP请求中的Header参数,相同匹配规则时参数越多优先级越高。

    • 请求头:demo

    • 条件:前缀是

    • 值:value

    请求参数(Query)

    设置匹配HTTP请求中的Query参数,相同匹配规则时参数越多优先级越高。

    • 请求头:key

    • 条件:前缀是

    • 值:value

    服务来源

    支持MSE NacosK8s Service两种注册中心。

    • MSE Nacos:选择后,需设置MSE Nacos实例MSE Nacos命名空间

    • K8s ServiceSAE支持通过K8s ServiceName进行多语言服务注册发现,并允许使用固定域名配置应用,以解决部署后实例IP变化的问题。

    说明

    与应用的服务注册发现方式保持一致。

    MSE Nacos实例

    使用场景

    选择当前路由的目标服务类型。

    • 基础场景

      单服务:将请求分发到唯一一个后端服务,是最常使用的场景。

    • 灰度场景

      多服务:将请求按比例分发到多个后端服务,通常在切流和灰度场景下使用。

    关于目标服务不同类型的说明,请参见路由方式概述

    单服务

    后端服务

    选择后端应用、服务及其对应的端口。

    说明

    涉及权重的目标服务流量比例总和要求为100%。

    • 应用名称:demo

    • 服务名称:demo

    • 服务协议:自动读取

    • 服务端口:80

    高级配置

    Fallback

    开启Fallback开关,设置Fallback服务,您需要选择指定的服务。当路由指向的后端服务没有可用节点时,原请求会访问此处指定的Fallback服务。

    说明

    目前仅支持HTTP服务之间的Fallback能力。

    开启

    超时时间(秒)

    输入超时时间。默认为60秒。如果为0,则表示永不超时。

    60

    重试次数

    输入重试次数。如果为0,则表示禁用重试。

    2

    重试条件

    请选择重试条件。更多信息,请参见配置重试策略

    connect-failure、cancelled

    重试状态码

    请添加重试状态码。报错后的提示信息。

    502

    路由规则新建成功后,可以在网关路由页面进行查看、编辑等操作。

管理路由规则

创建路由规则后,您可以在网关路由页面查看转发策略、编辑以及删除网关路由。