服务路由

服务路由 #

极限网关通过路由来判断流量的去向,一个典型的路由配置示例如下:

router:
  - name: default
    tracing_flow: request_logging
    default_flow: cache_first
    rules:
      - method:
          - "*"
        pattern:
          - /
        flow:
          - cache_first

路由有几个非常重要的概念:

  • flow:请求的处理流程,一个路由里面有三个地方定义 flow
  • default_flow: 默认的处理流,也就是业务处理的主流程,请求转发、过滤、缓存等操作都在这里面进行
  • tracing_flow:用于追踪请求状态的流,不受 default_flow 的影响,用于记录请求日志、统计等
  • rules:根据匹配规则将请求分发到特定的处理流中去,支持请求的 Method、Path 的正则匹配

参数说明 #

名称类型说明
namestring路由名称
default_flowstring默认的请求的处理流程名称
tracing_flowstring用于追踪请求的处理流程名称
rulesarray路由规则列表,按照数组的先后顺序依次应用
rules.methodstring请求的 Method 类型,支持 GETHEADPOSTPUTPATCHDELETECONNECTOPTIONSTRACE,设置 * 表示不区分
rules.patternstring请求的 URL Path 匹配规则,支持通配符,不允许有重叠匹配
rules.flowstring规则匹配之后执行的处理流程,支持多个 flow 组合,依次顺序执行