生产环境全链路压测建设历程之九 淘宝网全链路压测的原理
上一篇的内容是《生产环境全链路压测建设历程之八 生产全链路压测和传统压测的差异点》。
这一篇要写的内容是,淘宝网全链路压测的原理。
淘宝网的统一技术框架
自从 09 年淘宝网开始做中心化、去 IOE 的时候,就定义好了技术框架。
如分布式调用框架 HSF,对应的是 B2B 后来开源的 dubbo。
如分布式数据库访问层 TDDL ,对应的是 B2B 后来开源的 mycat。
同时还有分布式链路追踪框架 eagleeye,是参考 google 的 dapper 论文实现的。
当然了,这些统一的技术框架,每一行代码都是淘宝网中间件团队一行行开始写的。
全链路压测的核心原理
有了上面讲的统一的技术框架,在约定好了压测流量会带上一个特殊的标记(比如 http 请求,可以带一个自定义的 header 值为 PT) ,对应的技术框架在处理压测流量的时候,当涉及到数据库、缓存、消息 topic 对应的数据读取和存储,会自动在真实的表名前面增加一个__test 前缀。
这样最终实现了压测数据和真实数据的隔离。
淘宝网为什么这么做?
其实原因很简单,这对于淘宝网来说是最快最方便的实现方式。
中间件的代码是淘宝网的中间件工程师一行行写的。
还能有分布式链路追踪来追踪压测流量是否按照期望的方式流转。
版权声明: 本文为 InfoQ 作者【数列科技杨德华】的原创文章。
原文链接:【http://xie.infoq.cn/article/b66df19641ada857c649aed91】。文章转载请联系作者。
评论