质量_测试_陶文-基于流量回放技术进行中台建设__38页_1mb
报告摘要
基于流量回放技术进行中台建设总结
核心内容
滴滴出行作为全球领先的移动出行平台,致力于通过大数据和深度学习技术解决出行、环保、就业等社会问题,并推动智能交通技术的发展。公司拥有庞大的用户基数和丰富的业务场景,涵盖专车、快车、顺风车、出租车、企业级、公交、小巴、代驾、租车、豪华车、共享单车等服务。
为了提升测试效率、降低风险并加快迭代速度,滴滴出行正在探索基于流量回放技术的中台建设方案。该方案旨在通过录制和回放真实业务流量,模拟线上环境,实现更高效的测试与验证。
主要观点
-
现有方案的挑战:
- 流量覆盖不足,测试难以全面;
- 切流过程中可能对用户造成影响;
- 迭代速度受限于上线周期;
- 双写或双读过程会额外消耗资源。
-
流量回放技术的优势:
- 通过录制真实流量,可模拟线上环境;
- 相当于手写的带mock的单元测试脚本,提升测试覆盖率;
- 可以在不依赖真实网络的情况下进行测试,降低风险;
- 支持对复杂业务逻辑的测试,如多人拼车、同城及跨城需求。
-
流量录制与回放的关键问题:
- 如何在并行请求中提取完整的处理流程;
- 如何区分外部请求和内部RPC响应;
- 如何将请求切分开并实现mock;
- 如何处理业务与时间相关的问题;
- 如何进行回放结果的差异比对;
- 如何在重构时有效利用流量回放。
-
协议无关性:
- 流量回放方案尽量做到协议无关,便于兼容不同通信方式;
- 通过将数据流切分为16字节的块进行处理,实现流量的统一管理和比对。
-
开发人员使用方式:
- 开发人员可以使用录制的流量来构造状态,进行集成测试;
- 流量回放支持通过trace_id关联不同线程之间的请求和响应;
- 通过构造状态,可以实现对多个逻辑的组合测试,提高测试的准确性。
关键信息
-
技术指标:
- 每日新增轨迹数据:70TB+
- 每日处理数据:4500TB+
- 每日路径规划请求:200亿+
- 日均定位数据:150亿次
-
业务规模:
- 注册乘客:4.4亿+
- 日完成订单:2500万
- 司机获得工作机会:~2108万
-
团队构成:
- 员工总数:~7000人
- 大数据科学家和工程师占比:近一半
-
测试方式:
- 基于mock的测试:仅能测试单个进程内的逻辑,无法进行跨进程组合测试,且mock测试不如基于状态的测试真实;
- 基于状态的测试:通过构造状态,可以测试多个逻辑的组合,提升测试的真实性和全面性。
-
中台建设目标:
- 利用流量回放技术,实现更高效的测试和验证;
- 通过服务标准化(包管理+Docker+服务注册发现),解决服务组装问题;
- 构造状态并集成测试逻辑,以支持复杂业务场景的测试需求。
展望
未来,滴滴出行将继续优化流量回放技术,提升其在中台建设中的应用价值。通过录制流量、构造状态、集成测试逻辑,实现更高效、更真实的测试环境,从而加快产品迭代速度,提升系统稳定性。同时,滴滴出行也在探索如何更好地利用该技术进行底层服务的测试和验证,以支持更广泛的业务需求。
技术细节
-
线程关联:
- 一个线程下可能发起多次RPC调用;
- 通过trace_id进行传递,但需要遍历所有RPC调用点,容易遗漏;
- 通过关联线程之间的“委托关系”,减少关注点,提升测试效率。
-
状态构造:
- 通过录制的流量构造状态,实现对多个逻辑的组合测试;
- 支持对业务逻辑的全面覆盖,提高测试的准确性。
-
测试逻辑:
- 测试logic1时,可mock logic2,构造状态进行测试;
- 支持对逻辑的灵活组合和测试,提升测试的效率和效果。
招聘信息
如对滴滴平台技术部的机会感兴趣,请发送简历至我们的招聘HR:maosanyan@didichuxing.com,或加微信&电话联系(18910686942)。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载