Skip to content

Latest commit

 

History

History
42 lines (24 loc) · 1.64 KB

route.md

File metadata and controls

42 lines (24 loc) · 1.64 KB

集群间分流

  • 集群间分流是指BFE收到请求,基于收到消息内容进行路由,确定由产品线中哪一个集群来处理消息。

示例场景

  • 对于一个产品线的流量,可能需要定义不同的集群来处理。例如,对产品线(demo),可以定义3种服务集群,实现对不同类型的流量的处理:

    • 静态集群(demo-static):服务静态流量
    • post集群(demo-post):服务post流量
    • main集群(demo-main):服务其他流量
  • BFE支持根据配置的分流规则, 将流量转发到以上不同的集群。

分流的配置方式

  • BFE基于请求内容进行条件判断,来决定分流
    • 可以使用的信息包括:host,path, query,cookie,method等
  • BFE提供了一个称为Condition的描述机制

对于上面的例子,我们可以demo这个产品线创建了3条分流规则

  • 第一条:对于path以"/static"作为前缀的,都发往demo-static

  • 第二条:请求方法为"POST"、并且path是以"/setting"为前缀的,都发往demo-post

  • 第三条:如果以上两条规则没有命中,则凡是这个产品的流量、都发往demo-main

配置分流规则的注意事项

在配置一个产品线的分流规则时,需要注意以下事项:

  • 多条分流规则之间是有序的

    • 对于一个HTTP请求,会按照从上至下的顺序,逐条去尝试匹配分流条件
    • 只要命中任何一个分流规则的条件,就会结束
  • 必须存在一个"default规则"

    • default规则永远处于规则列表的最后一条
    • 如果其他分流规则都没有命中,则请求会发往default规则所指定的集群