概述
云原生网关基于用户配置的host,path,query,header,cookie等信息配置特定的转发规则,当前云原生网关支持多种路由方式,包括单服务路由、多服务路由、标签路由、mock和重定向路由等。
单服务路由
单服务路由根据用户配置的路由规则将请求转发到单个后端服务,例如请求匹配/path1转发到svc1,匹配/path2转发到svc2
多服务路由
多服务路由模式下支持将请求转发到多个不同的后端服务,每个后端服务配置不同的访问权重(总权重之和为100%);该模式可用于灰度发布等场景;如对于到/path的请求,30%转发到svc1,70%转发到svc2
标签路由
针对同一个服务,可以根据nacos或者k8s中记录的服务标签信息将服务分组;标签路由模式下,支持将请求在同一个服务的不同标签分组之间分流;例如,根据服务标签信息将testSvc打上v1和v2两个标签,可以在匹配路由时30%的流量转发到v1版本,70%的流量转发到v2版本:
或者根据请求的内容将请求转发到不同的服务版本:
mock路由
该模式主要用于测试场景,可以配置路由直接返回mock内容,包括HTTP状态码,返回内容等信息,例如针对/path的请求返回HTTP 200,内容为"Hello!":
重定向路由
返回3xx状态码以及重定向地址,引导调用方访问重定向的地址,如下: