上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2017年基于流量回放技术进行中台建设.pdf

编号:92510 PDF 37页 1.37MB 下载积分:VIP专享
下载报告请您先登录!

2017年基于流量回放技术进行中台建设.pdf

1、MORE THAN A JOURNEY基于流量回放技术进行中台建设现有方案新方案010203挑战展望04挑战CHAPTER 1MORE THAN A JOURNEY公司简介MORE THAN A JOURNEYMORE THAN A JOURNEY出行平台中台化快车拼车专车巴西出行中台十多个大产品数百种细分场景挂一漏万中台化现有方案CHAPTER 2MORE THAN A JOURNEYlogicservicelogicservicelogicservicestatestatestate测试脚本测试边界划分边界划分的大1、依赖的state多2、掉链子的模块多带来问题定位困难集成的bug多于模块

2、自身的bug手写自动化测试MORE THAN A JOURNEYlogicservicelogicservicelogicservicestatestatestate测试脚本测试边界划分边界划分的小1、一堆依赖的服务需要mock2、内部服务之间的交互不是稳定的系统边界,经常调整,写新功能先要修复一堆挂掉的测试手写自动化测试MORE THAN A JOURNEY旧系统新系统日志日志小流量1、流量覆盖不到的,测试也覆盖不到2、切流过程出问题对用户有损3、迭代速度受到上线周期的巨大影响4、双写或者双读比对期间额外消耗资源双写双读,日志比对,灰度切流新方案CHAPTER 3MORE THAN A JO

3、URNEY生产环境流量录制开发环境回放并且比对录制流量和回放结果的diff录制的流量相当于手写的带mock的单元测试脚本用流量生成测试用例MORE THAN A JOURNEY插入点怎么搞,是要业务接入特殊的rpc sdk么?并行的请求处理过程,如何抽取出一个完整的处理过程?怎么区分外部进来的请求,和访问rpc获得的response?请求与请求之间怎么切分开来,难道要解析http协议么?回放的时候怎么实现mock,如何知道这次请求过来返回什么?业务要是和时间相关呢?怎么diff回放结果,线下肯定和线上有很多差异啊?对重构可能有一点点用,做新需求开发帮助不大吧?为什么流量录制和回放没有普及MOR

4、E THAN A JOURNEY录制回放的整体流程录制回放比对录制的流量回放结果MORE THAN A JOURNEY录制录制回放比对录制的流量回放结果MORE THAN A JOURNEY录制的结果Inbound requestInbound responseCall outbound:request+responseAppend fileSend UDPActionsSessionRPC 请求Read storageMORE THAN A JOURNEY录制要解决的问题MORE THAN A JOURNEY串行录制MORE THAN A JOURNEY绝大部分业务逻辑在一个线程内串行执行通

5、过 thread 来关联 inbound/outbound比手工传递 trace_id 更容易并行录制MORE THAN A JOURNEY太靠下了,线程信息就丢失了越靠上越多元化,适配的成本越高尽量做到语言无关,框架无关LD_PRELOAD=boss_recorder.so./server-start.sh MORE THAN A JOURNEY请求响应请求依赖时序来识别下一个请求的开始数据流尽量做到协议无关MORE THAN A JOURNEY回放录制回放比对录制的流量回放结果MORE THAN A JOURNEY开发人员如何使用MORE THAN A JOURNEYmock重定向Syst

6、em Under TestredisOutboundInboundLibcConnect()发起回放MORE THAN A JOURNEY切分成16bytes chunksByte数组按完全相同的chunk数进行打分mock请求匹配实现MORE THAN A JOURNEY剧本的传递,结果的收集MORE THAN A JOURNEY比对录制回放比对录制的流量回放结果MORE THAN A JOURNEY展望CHAPTER 4MORE THAN A JOURNEY业务代码业务代码基础代码“过去的”流量没有的,就测不到基础代码无法预测所有的用户,以及上层的行为无法判断漏测带来的风险级别成也流量,败

7、也流量MORE THAN A JOURNEY业务代码基础代码确定性的业务代码依赖过去的流量回放不确定的基础代码依赖手工脚本加随机数据生成构造随机流量 THAN A JOURNEYlogic1logic2stateMock logic2测试logic1基于mock的测试两个缺点1、只能测试一个进程内的逻辑,无法跨进程组合测试2、mock 不如基于 state 的测试真实MORE THAN A JOURNEYlogic1logic2stateMock logic2测试logic1logic1logic2state构造state测试 logic1+logic2基于状态的测试MORE THAN A J

8、OURNEYlogic1logic2stateMock logic2测试logic1logic1logic2state构造state测试 logic1+logic2构造 logic2+state测试 logic1logic1logic2statestate 就是那些“免测”的叶子系统MORE THAN A JOURNEYlogicservicelogicservicelogicservicestatestatestate通过服务标准化(包管理+docker+服务注册发现)解决服务组装问题对状态的依赖成为最大难点集成测试:系统级流量回放MORE THAN A JOURNEY偏用户侧:流量回放偏底层:“随机”生成流量整体:用录制的流量构造state集成测试逻辑state流量录制是未来的发展方向MORE THAN A JOURNEY线程1线程2一个线程下可能发起多次rpc基于 trace_id 进行传递需要遍历所有的rpc调用处,容易遗漏线程1线程2关联线程之间的“委托关系”需要关注的地方更少thread id v.s.trace id

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2017年基于流量回放技术进行中台建设.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部