滴滴开源支撑业务代码重构工具 Rdebug

栏目: 软件资讯 · 发布时间: 5年前

内容简介:近日,滴滴在 GitHub 上开源后端研发、调试、测试的实用工具 Rdebug,全称 Real Debugger,中文名 真・Debugger。使用真实的线上流量进行线下回放测试,提升研发效率、保障代码质量,进而减少线上事故。随着微服务架构的普及和应用,一个复杂的单体服务通常会被拆分成多个小而美的微服务。在享受微服务带来便利的同时,也要接受因为微服务改造带来的问题:需要维护的服务数变多、服务之间 RPC 调用次数增加。这就造成线下环境维护成本大大增加,其次线下环境涉及到的部门较多,维护一个长期稳定的线下环境

近日,滴滴在 GitHub 上开源后端研发、调试、测试的实用工具 Rdebug,全称 Real Debugger,中文名 真・Debugger。使用真实的线上流量进行线下回放测试,提升研发效率、保障代码质量,进而减少线上事故。

背景

随着微服务架构的普及和应用,一个复杂的单体服务通常会被拆分成多个小而美的微服务。在享受微服务带来便利的同时,也要接受因为微服务改造带来的问题:需要维护的服务数变多、服务之间 RPC 调用次数增加。

这就造成线下环境维护成本大大增加,其次线下环境涉及到的部门较多,维护一个长期稳定的线下环境也是一个挑战;业务快速发展、需求不断迭代,手写单测又因复杂的业务逻辑以及复杂的服务调用需要 mock 多个下游服务,导致手写和维护单测成本特别的高;手动构造数据,又不够全面真实。以上问题都严重影响 RD 的研发效率,并且增加线上产生事故的隐患。

RD 迫切需要一个只需在本地部署代码、不用搭建下游依赖、使用真实数据,进行快速开发、调试、测试的解决方案。Rdebug 基于流量录制、流量回放的思路,能够巧妙的实现上述方案。

宗旨

提升研发效率、降低测试成本、缩短产品研发周期,保障代码质量、减少线上事故。

滴滴开源支撑业务代码重构工具 Rdebug

使用全景图

全新的研发体验

  • 只需部署模块代码,无需搭建下游服务;
  • 在 macOS 本地回放,开发、调试、测试无需登录远程服务器;
  • 流量录制支持常用协议,FastCGI、HTTP、 Redis 、Thrift、 MySQL 等;
  • 回放速度快,单次回放秒级别。

路径重定向

为了方便 RD 在本地开发、测试,Rdebug 支持路径重定向。

当线上部署路径和本地代码路径不一致时,当代码中存在大量线上路径硬编码时,无需入侵式修改代码,只需要简单的配置即可实现路径重定向。

即代码可以存放在任何路径下回放。

时间偏移

流量回放时会自动把时间偏移到流量录制的时间点。

在代码中获取时间时,会获得录制时间点之后的时间。所以,当业务接口对时间敏感时,也无需担心。

文件 Mock

流量回放支持文件 Mock,指定文件路径和 Mock 的内容,即可快速实现文件 Mock。

结合录制上报功能,在线上上报配置读取,在线下使用文件 Mock 实现配置“重现”。

Elastic 搜索

对存储在 Elastic 中的流量,支持 URI、输入输出关键词、下游调用等多维度搜索。

回放支持指定文件,也支持上述搜索回放,使用体验更佳。

Xdebug 调试

最高效的功能是 Xdebug 联动调试,通过对代码设置断点即可使用线上流量进行调试。通过这种方式,可以用来研究代码、排查问题、查看下游接口响应格式及数据等,是一个开发调试利器。

滴滴开源支撑业务代码重构工具 Rdebug

回放报告

回放报告,汇总线上线下的输入、输出、结果对比,一目了然。

滴滴开源支撑业务代码重构工具 Rdebug

下游调用报告,会列举出所有的下游调用,包括协议、请求内容、匹配上的响应以及相识度。通过不同的背景颜色,标记出完全匹配的流量、存在噪点的调用、缺失的调用、新增的调用等。

滴滴开源支撑业务代码重构工具 Rdebug

结合 Xdebug 生成覆盖率报告,能够清楚的看到哪些代码被执行、哪些代码未被执行以及接口的覆盖率情况。

滴滴开源支撑业务代码重构工具 Rdebug

有关安装、使用过程以及常见问题解答,请查看以下链接:

GitHub: https://github.com/didi/rdebug

Wiki: https://github.com/didi/rdebug/wiki

Documentation: https://github.com/didi/rdebug/blob/master/doc/DocList.md


以上所述就是小编给大家介绍的《滴滴开源支撑业务代码重构工具 Rdebug》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

用户体验的要素

用户体验的要素

Jesse James Garrett / 范晓燕 / 机械工业出版社 / 2007年10月 / 25.00

这不是一本关于“怎样做(How-to)”的书。有很多很多讨论如何建设网站的书,这本不是。 这不是一本关于技术的书。在这里你找不到一行代码。 这不是一本有答案的书。相反,这本书说的是“如何提出正确的问题”。 这本书将告诉你,在你阅读其他书籍的之前,你需要提前了解什么。如果你需要一个大的概念,如果你需要了解用户体验设计师所做出的决策的环境,这本书很适合你。 这本书经过精心设计,......一起来看看 《用户体验的要素》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具