【netstub】(三)使用流量桩实现多虚拟环境复用服务

  info

项目地址: https://github.com/Be5yond/netstub

相关文章:

【netstub】(一)基于nginx反向代理实现客户端mock

【netstub】(二)使用流量桩实现服务端数据回放和mock

【netstub】(三)使用流量桩实现多虚拟环境复用服务

【netstub】用户手册

【netstub】管理员手册

 

1.应用场景

经常遇到多个需求并行开发的场景,每个需求的改动可能涉及到服务端的一个或多个服务。这时测试团队进行测试的时候,为了避免干扰会采用多个环境进行测试。如下图:

环境 A 测试服务 A 和服务 D

环境 B 来测试服务 B 的改动

环境 C 为稳定分支,供其他下游服务请求调用  

1.1 问题

  1. 造成服务器的浪费,(如上例中,服务C没有任何改动,但是却部署了3份实例)。
  2. 重新部署,创建测试环境的成本高,需要启该应用上的所有服务。

1.2 解决方案

接入netstub后,因为所有服务流量都经过netstub流量桩,可以利用netstub的星状拓扑

topo_star.png

 在请求中加入虚拟环境标识,netstub获取到标识后,将请求路由到对应的服务上去。从而实现同一个环境下的多个虚拟环境

1.3 实现效果 

实现效果如下图所示,将服务均部署到同一个环境,服务 A, B, D 分别启两个不同版本的实例

 只需要部署7个服务就可以完成3个虚拟环境的创建,并且易于拓展,随时可以再启一个新的实例标记为环境 D 接入到系统中。

2. 使用原理

在请求header中增加X-env字段,netstub收到请求后,根据X-Env配置路由到对应的服务ip,没有的话降级为默认服务。

2.1 环境注册与管理

todo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值