博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jvm-Sandbox-Repeater架构
阅读量:4095 次
发布时间:2019-05-25

本文共 824 字,大约阅读时间需要 2 分钟。

一、Repeater整体架构

1.1 Jvm-Sandbox-Repeater简介

Jvm-Sandbox-Repeater是一个基于Jvm-Sandbox的 服务端录制/回放 通用解决方案

1.1.1 服务端录制回放的概念

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

1.1.2 Repeater核心原理

在这里插入图片描述

1.1.3 名词解释

  • 录制:把一次请求的入参、出参、下游RPC、DB、缓存等序列化并存储的过程
  • 回放:把录制数据还原,重新发起一次或N次请求,对特定的下游节点进行MOCK的过程
  • 入口调用:入口调用一般是应用的流量来源,比如http/dubbo,在调用过程中录制调用入参、返回值。回放时作为流量发起和执行结果对比依据
  • 子调用:子调用是调用执行过程中某次方法调用,区别于入口调用,该调用不作为回放发起录制时会记录该方法的入参、返回值,回放时用该返回值进行MOCK
  • MOCK:在回放时,被拦截的子调用不会发生真实调用,利用Sandbox的流程干预能力,将录制时的返回值直接返回

1.1.4 Repeater特性

  • 无侵入:无需修改代码,无需重启jvm
  • 通用性:支持所有JVM类型语言
  • 可插拔:随时启停、随时卸载
  • 扩展性:简单几行代码即可适配一个常用插件

1.1.5 Repeater应用场景

  • 业务回归
  • 架构感知
  • 问题排查
  • 压测流量
  • 线上监控

在这里插入图片描述

二、插件开发&使用演示

2.1 repeater-console体验在这里插入图片描述

三、问题解答

3.1 对性能的影响

结论:线上采样率控制在一定范围内,性能影响可接受

在这里插入图片描述

3.2 推荐使用agent方式还是attach方式

针对录制回放场景,推荐使用attach方式启动,更灵活,更可控,需要注意attach瞬间的影响

在这里插入图片描述

3.3 如何动态推送配置

配置变更后,用户主动推送,配置实时生效,无需重启

在这里插入图片描述

3.4 如何快速搭建测试平台

直接部署 repeater-console 到生产环境,把 repeater-module 分发到目标机器,录制后回放到指定环境

在这里插入图片描述
相关地址:

转载地址:http://muxii.baihongyu.com/

你可能感兴趣的文章
LeetCode 461. Hamming Distance
查看>>
LeetCode 136. Single Number
查看>>
SequentialSearch 顺序表查找
查看>>
LeetCode 169. Majority Element
查看>>
HTML——初识html,元素 属性 段落 文本格式化 链接 头部入门
查看>>
CSS——CSS入门语法
查看>>
CSS——id 和 class 选择器
查看>>
CSS——CSS创建样式表
查看>>
CSS——背景
查看>>
C++——如何理解.h文件和.cpp文件
查看>>
C++——析构函数为什么要为虚函数
查看>>
HTTP——简介
查看>>
ShellSort 希尔排序
查看>>
HeapSort 堆排序
查看>>
QuickSort 快速排序
查看>>
《剑指Offer》替换空格
查看>>
C++—— cin输入流详解
查看>>
《剑指Offer》从尾到头打印链表
查看>>
《剑指Offer》用两个栈来实现队列
查看>>
《剑指Offer》斐波那契数列
查看>>