在脉冲云开发平台中使用灰度发布如何控制HTTP流量

脉冲云,通过规范软件开发流程以及使用自动化工具辅助,提高开发团队协同力,聚焦业务,以成倍提高开发效率

在应用的灰度发布期间,能够精确控制用户的HTTP流量,实现A/B测试等功能。

HTTP协议

当前,脉冲云只能对HTTP协议的流量进行精确控制,如果是普通TCP流量或者是UDP流量,只能按照新旧版本应用副本数量进行平均的负载均衡。

为了能够让脉冲云正确识别HTTP流量,请在应用的端口设置中,给端口协议选择HTTP。
这里写图片描述

如果某个应用存在多个端口,并且同时存在HTTP协议和TCP协议,那么HTTP协议的端口可以进行精确流量控制,其TCP端口上的流量仍然按照副本数进行负载均衡。

按百分比控制流量

这里写图片描述

拖动流量滑块,就可以将指定量的流量导入到新版本上。

流量的百分比和应用副本数的比例相互独立,比如老版本运行了10个应用副本,新版本只运行了一个副本,流量的比例设置为50%,那么新旧版本上的流量比就为 1:1,并非 1:10。您可以根据性能需要,动态控制新版本应用副本数量,以免出现少量的副本却承受大量流量,造成的不稳定。

匹配 HTTP Header

通过指定HTTP请求头的匹配规则,可以精确地将满足指定特征的用户导入到新版本上来。
这里写图片描述

如果指定了多条匹配规则,多条规则为AND关系,用户必须全部满足,才能匹配上。

匹配规则

精确匹配
请求头内容必须精确等于匹配条件。

包含
请求头内容只需包含匹配条件。

存在
判断指定Header是否存在,不在乎其内容是什么。

正则匹配
请求头内容必须满足于指定的正则表达式。正则匹配是完全匹配,比如Header内容为 123,请求条件只输入\d 是无法匹配的,必须输入完整的正则,比如\d{3}\d+。因为是完全匹配,所以不需要正则开始符^ 和 结束符$,如果存在这两个符号,反而会匹配失败。

匹配前缀
请求头内容必须以指定的字符串开头。

匹配后缀
请求头内容必须以指定的字符串结尾。

匹配范围
请求头内容必须是数字,并且满足匹配条件给出的 最小值 到 最大值 区间,可以为负数。

反向匹配
如果勾选了反向,则匹配规则条件为否。

其实 Cookie 匹配是 Header 匹配的快捷方式,因为Header的正则匹配必须是完全匹配,而用户的Cookie一般会有多项,如果直接在Header匹配中指定 Cookie 头的匹配规则会很麻烦。

Cookie匹配是常用的方式,其各项匹配规则和普通Header匹配规则基本一致,只是不支持区间匹配。

关于 HTTP2

Header 的匹配条件的名称必须是小写,比如要匹配 User-Agent请求头,在编写匹配规则时,必须小写格式 user-agent,原因是,在脉冲云管理的集群内部,各个微服务之间的HTTP流量会被统一视作 HTTP2 流量。

就算两个微服务之间通信采用的是 HTTP/1.1 协议,也会自动将HTTP/1.1 升级为HTTP2,这样就用上了HTTP2协议的长连接、链接复用、Header压缩等功能,大大地提高了性能。

而HTTP2协议的Header字段名,统一是小写格式。

所以,不论用户请求的是HTTP/1.1 协议 还是 HTTP2 协议,不论请求头字段是大写还是小写,在填写流量控制规则时,只需小写即可。

分享转自:脉冲云开发平台

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值