MoonBox:一款超实用无需代码侵入的流量录制与回放平台

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

fbcf81cd3e0ec487b715e311723f45ef.png


当前互联网服务现状是调用关系复杂,服务模块多,流量复杂,业务复杂,对于测试团队构造请求成本比较高,如果还按照传统的人工构造请求参数,相对目前复杂业务场景来说太单一了。

今天给大家分享一个线上流量录制 和流量回放平台 -- MoonBox。

项目简介

Moonbox(月光宝盒)是一个无侵入的线上流量录制 和流量回放平台。

简单介绍一下什么是流量录制与回放?

流量录制回放就是通过记录线上流量,在测试环境回放,来发现系统是否能够正常运行,降低代码变动带来的风险。

流量录制把一次请求的入参、出参、下游RPC 等存储起来,流量回放是把录制数据还原,重新发起请求。

1dc6907b64f03824c03dca3c666eab53.png

项目优势

  • 通过流量录制可以很容易形成丰富的测试用例

  • 回放线上流量更真实,人工编写的测试用例可能会有考虑不周的地方

  • 回放线上流量可以复现生成环境中问题,完美解决了本地好使的,线上问题不知道怎么产生的。

  • 没有代码侵入,通过代理对流量录制和回放的增强

  • 可视化调用链路

    521a516871249a0b4c6fc0fa0732396a.jpeg
  • 定时录制和回放,减少人工操作

    8f52ff61b9a50fe43a1435b633cc4ab3.jpeg
  • 接口维度的流量管理

    5267d724451602b8092d53609b7e8cbb.jpeg
  • 详细展示流量详情,包括请求的参数、响应参数 和 该请求的 子调用详情

    7f36e93ec462e6b30de36d5818a9cc7d.jpeg

项目原理

月光宝盒平台由 moonbox-agent 和 moonbox-server组成。

moonbox-agent

agent(基于动态字节码增强技术实现)动态代理到目标进程上,提供流量录制和回放的增强。

moonbox-server

server 主要是做后台配置,保持录制的数据,同时为 agent提供接口。

流量录制

通过JVM-Sandbox的BEFORE、RETRUN、THROW事件机制拦截关键调用位置获取流量入参、出参,实现流量录制。

b314958a99102b88c2b8937989ba857b.png

流量回放

agent 启动后从服务端 拉取流量去分发到对应接口做回放。

cfd8e149d84eeae7c8df321bce77900f.png

快速体验

下载完代码后,在工程下的docker文件夹 下,执行如下命令:

# x86架构下
docker-compose -f docker-compose.yml up
# arm架构下
docker-compose -f docker-compose-arm64.yml up

启动后,在浏览器输入 http://127.0.0.1:9999/ ,即可访问月光宝盒平台。

配置流量录制

f64081c1ad3be435aaa10c2453bda2af.png

流量回放

在录制处回放

22dc67433e21722906a1d32258f82382.png

更多操作细节参考官网文档,这里了不起就不过多赘述了~

项目地址

https://github.com/vivo/MoonBox

本文转载自:「开源小分队」,原文:https://url.hi-linux.com/mUdN3,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

6f2941af3aaa44e831ef0c22f4540c5d.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

f34d9d15a985c63b55280c812a114b68.png

你可能还喜欢

点击下方图片即可阅读

4c797ad5229c28081ef489e950c5dc0c.jpeg

如何基于 Harbor 和 Registry 实现大规模镜像管理分发

93ed7a3d3c3f81248e0c52575a0ad47c.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

6d66f3b437f5e10292d2b7efe8067a2b.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值