阿里中间件-全链路压测 总结
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预发布环境来模拟正式环境
以上是关于阿里中间件-全链路压测 总结的主要内容,如果未能解决你的问题,请参考以下文章