23|案例:如何在生产环境进行全链路压测?
丁威
你好,我是丁威。
不知不觉,我们已经进入了专栏的最后一个板块。这节课,我想给你介绍一下我在全链路压测领域的一些实践经验,让你对中间件相关技术有一个全局的理解。
实际上,全链路压测也是我进入中通负责的第一个项目。当时,我们需要从 0 到 1 打造全链路压测项目,而我对主流中间件的深入了解,在项目的开发和启动过程中发挥了极大的作用,也让作为新人的我在新公司站稳了脚跟。
全链路压测概述
那什么是全链路压测呢?网上关于它的定义有很多,所以我在这里只给出一个可能不太全面,但是比较简单易懂的我的版本:全链路压测就是在生产环境对我们的系统进行压测,压测流量的行进方向和真实用户的请求流量是一致的,也就是说压测流量会完全覆盖真实的业务请求链路。
全链路压测的核心目的是高保真地检测系统的当前容量,方便在大促时科学合理地扩缩容,为合理规划资源提供可视化的数据支撑。
在介绍全链路压测之前,我们先来看一张简易的数据流向图,感受一下我们公司需要落地全链路压测的底层系统的布局情况:
首先,压测端通常采用 JMeter 构建压测请求(HTTP 请求),全链路压测系统需要提供一种机制对真实的业务流量与测试流量加以区分,然后压测流量与真实流量分别进入接入层的负载均衡组件,最终进入接口网关。接口网关再发起 HTTP 或者 Dubbo 等 RPC 请求,进入到内部的业务系统。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了全链路压测的概念及实践经验,重点分享了在中通负责的项目中打造全链路压测项目的经历。全链路压测的核心目标是高保真地模拟真实请求,包括压测前的数据构建、压测运行时的请求打标和数据隔离,以及压测后的报告生成和实时监控。文章重点介绍了流量染色与透传机制和数据隔离机制,强调了这些与中间件关联非常紧密。通过具体的代码示例和技术原理,为读者提供了全链路压测的实际操作指南和技术实现思路。全文内容详实,对中间件相关技术的全局理解提供了参考和指导。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《中间件核心技术与实战》,新⼈⾸单¥59
《中间件核心技术与实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- ICE FROGThreadLocal有父子线程传递问题,父线程的一些数据状态不会传递给子线程,父线程的ThreadLocal状态子线程是无法感知的,也就是会丢失
作者回复: 嗯,非常正确,建议你再看看为什么阿里开源的 transmittable-thread-local 框架,却可以做到线程池中的正常传递呢?
2022-11-22归属地:广东
收起评论