流量回放在酷家乐的演进历程
2021-09-04 360浏览
- 1.
- 2. 流量回放在酷家乐的演进历程 肖昌奔-酷家乐
- 3. 前言 PREFACE 在面临系统重构、拆分、中台化时,如何有效高效的进行回归测试 是个很大的难点 。 基于这点,我们结合了公司内部的一些资源平台,实践了一套流量回放的体系, 已经在多条业务线有较好的实践。 厂商:
- 4. CONTENT 01 02 03 背景 演进历程 总结展望 厂商:
- 5. 酷家乐架构 服务粒度细化 中台化趋势 前后端分离 厂商:
- 6. 挑战困难 1 系统重构如何快速回归? 2 如何高效率的进行有效测试? 3 如何尽可能广的覆盖测试范围? 4 如何提高提测质量?最好让开发自测,测试不介入测试 5 。。。。。。 厂商:
- 7. 如何高效且有效进行测试 流量回放 引入优秀工具 厂商: 整合公司资源
- 8. CONTENT 01 02 03 背景 演进历程 总结展望 厂商:
- 9. 一些优秀的开源工具 工具 Goreplay 特性 支持 HTTP 请求的录制和回放 Diffy 支持 HTTP,提供diff能力,可以智能降噪 Repeater 提供录制、回放、mock等能力,扩展性强 RDebug 支持世界上最好的语言,不支持java RDebug 厂商:
- 10. 简单Demo 完美适配 Diffy New Goreplay Prod Proxy Result Old Old 厂商:
- 11. 简单Demo 厂商:
- 12. 酷家乐现状——环境 厂商:
- 13. 酷家乐现状——SOA 酷家乐服务间调用 本质上还是Http 厂商: 厂商
- 14. 存在的问题 搭建一套diffy环境有成本,且管理杂乱无章 如何准确筛选出只读接口? Response为密文/压缩/二进制? 厂商:
- 15. 统一管理平台——Kudiffy 服务维度管理Diffy 厂商:
- 16. 接口智能筛选 利用监控调用链智能筛选 1. 把目标接口对数据库操作做一波过滤 2. 查询api子调用 3. 把被调用的api对数据库的操作做一波过滤 Jar包形式接入业务方特殊逻辑 解法 厂商:
- 17. 数据安全保障——影子表 Beta环境回放如何确 保不污染线上数据? 厂商:
- 18. 拓展延伸 Diffy思路 Diffy能力 接口自 动化 流量回放 基本能力 降噪 工具平 台 日常测 试 拓展延伸 厂商: 实时
- 19. 拓展延伸 举个例子 厂商:
- 20. 优缺点 优点 缺点 u 智能降噪 u 不支持写请求回放 u 全链路校验 u 做不到跨环境回放 u 普适性 厂商:
- 21. 影子表 借用影子表的思路,所有存储都生成一份影子表, 读真实表,写影子表,可以验证全链路 单服务 借鉴阿里doom的思路,以单服务维度,把服务外 部的交互全部mock掉,包括子调用、存储 厂商:
- 22. 厂商:
- 23. 必要插件:http、soa、mybatis 次要插件:mongo、es、kafka、guava cache等 厂商:
- 24. 1 建立日志中心,定时拉取repeater日志 2 解析特定日志,统一分析排查,减少人工投 入,加快推广进度 厂商:
- 25. 1 给流量加版本号,对应服务部署的Commitid 2 借用diffy的思路,先回放到稳定环境,把 diff作为噪音,筛选掉子调用异常部分的流量 3 再回放到目标环境,把结果做降噪处理 厂商:
- 26. 批次 回放数量 失败数量 原始 1106 243 过滤 944 128 降噪 944 1 厂商:
- 27. 1 黑白名单过滤 2 以接口维度设置录制采样率 3 利用监控流量数据,智能生成采样比例,流量占比低 于阈值则百分百采样 厂商:
- 28. 厂商:
- 29. 两套工具各有用武之地 2.精准测试——接口维度获取一 次迭代变更 4.借用diffy的思路,把结果做降 噪处理 厂商:
- 30. 1 流量回放能力服务7条业务线,100+个服务 2 10+工具平台接入Kudiffy 3 20+接口自动化服务接入Kudiffy能力,编写用 例效率大大提升 4 通过平台(Kudiffy&Kurepeater)累计发现200+个BUG 厂商:
- 31. A B 优秀工具 Diffy能力 Diffy C Goreplay Diffy思路 内部平台 D Repeater 探索中 厂商:
- 32. CONTENT 01 02 03 背景 演进历程 总结展望 厂商:
- 33. 流量数据沉淀后,封装各种个性化的数据,比如压测数据 复杂方案数据、参数化模型数据 厂商:
- 34. 厂商:
- 35.