创建路由

云原生网关在处理收到的请求时,会按照事先配置的路由规则的优先级逐一进行匹配。匹配过程是从高优先级规则向低优先级规则进行遍历。如果与某条规则匹配成功,则转发请求至规则中配置的目标服务;如果匹配失败,则会返回404错误。

路由匹配优先级

存在多条路由规则时,按照关联域名 > 路径(Path)> 请求头(Header)> 请求参数(Query)> 创建时间的优先级从高到低依次进行排序,详细规则如下:

  1. 根据关联域名进行判断:域名字符串长度越长,优先级越高。

  2. 根据路径(Path)进行判断:

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

    • 匹配规则相同时:路径(Path)字符串越长,优先级越高。

  3. 根据请求头(Header)的键值对总数进行判断:总数越大,优先级越高。

  4. 根据请求参数(Query)的键值对进行判断:总数越大,优先级越高。

  5. 根据创建时间进行判断:创建时间越早则优先级越高。

操作步骤

说明

路由配置支持HTTP协议簇,包括HTTP1.0、HTTP1.1、HTTP2.0、gRPCWebSocket

  1. 登录MSE网关管理控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择云原生网关 > 网关列表,单击目标网关名称。

  3. 在左侧导航栏,单击路由管理,然后在路由页签单击创建路由

  4. 创建路由页面,配置相关配置项,然后单击保存

    说明
    • 匹配规则之间是“与”关系,即填写的规则越多匹配的范围越小。

    • 路由之间匹配的优先级与路由配置页面展示排列顺序一致。

    配置项

    描述

    路由名称

    自定义路由名称。您还可以单击添加描述对路由进行说明。

    域名

    选择在路由需要匹配的域名,支持选择多个域名。

    如果您需要创建新的域名,可以直接单击创建域名,在面板中进行创建。

    匹配规则

    路径(Path)

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

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

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

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

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

      • 正则匹配:以正则表达式作为匹配条件。

    方法(Method)

    设置匹配HTTP请求中的Method参数。支持选择多种HTTP方法,默认为ANY。

    请求头(Header)

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

    请求参数(Query)

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

    使用场景

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

    • 基础场景:单服务

    • 灰度场景:多服务标签路由

    • 其他场景:Mock重定向

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

    说明

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

    后端服务

    选择已关联的后端服务和端口。

    说明
    • 您可以单击关联服务,在面板选择来源和服务。

    • 不同的来源类型允许添加的来源数量有不同的限制。

      • 容器服务不得超过5个。

      • Nacos和Zookeeper只能添加一个。

      • EDAS和SAE不限。

    Fallback

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

    说明

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

    超时时间(秒)

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

    重试次数(次)

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

    重试条件

    选择重试条件。

    重试状态码

    添加重试状态码,可添加多个。

相关文档

根据实际情况和需求的变化,您可以随时修改路由规则。具体操作,请参见变更路由规则