流量回放在酷家乐的演进历程

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
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.

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-13 19:41
浙ICP备14020137号-1 $Map of visitor$