阿里中间件-全链路压测 总结

Posted go大鸡腿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里中间件-全链路压测 总结相关的知识,希望对你有一定的参考价值。

前言

这几天在面蚂蚁金服的国际支付事业部,刚好有个面试题是:全链路压测怎么设计?(ps:我当时有点闷逼的,因为我们一般就是用jmeter去进行压测,至于全链路怎么搞呢)

全链路压测

文章地址

具体流程

在这里插入图片描述
大概流程: 首先要做流量染色 ->流量识别->然后agent用字节码技术->改写sql 将数据落到影子表

要点

1.染色然后如何在全链路进行传递?
A:这个可以参考阿里开源中间件sofatrace里面spaceid跟traceid传递,其中使用了TransmittableThreadLocal来解决线程池,多线程变量传递问题,像RPC会放到header头,根据协议不一样,会进行封装,像dubbo,rest等等。

2.如何落到影子库?
A:个人想法可以参照多租户的实现,比如A租户落到A库,B落到B库,可以用Shardingjdbc去实现,当然会有些代码侵入。像这里用的是agent字节码去改写sql,可以实现减少代码侵入的问题。

在这里插入图片描述

3.必要的设计
比如说熔断机制,这里肯定是要有一些开关去控制下,比如我现在流量已经对线上产生影响,需要进行关闭。

4.讲讲我们一般的操作
会有一套uat预发布环境来模拟正式环境

以上是关于阿里中间件-全链路压测 总结的主要内容,如果未能解决你的问题,请参考以下文章

系统稳定性保障核武器——全链路压测

阿里10年分布式技术沉淀:阿里高可用体系核心缔造者全链路压测创始人告诉你!

111

阿里怎么做双十一全链路压测?

详解 | 阿里怎么做双11全链路压测?

独家揭秘 | 阿里怎么做双11全链路压测?