一年狂砍 2500 万行代码,零故障!去哪儿网系统瘦身技术揭秘
马阳阳
去哪儿网基础架构组资深开发工程师、公司云原生 SIG 成员,专注于云原生、效能领域。负责测试环境治理平台 Noah、代码瘦身平台。优化过 Noah,使环境构建成功率提升 35%、耗时降低 30%。22 年深度参与的“线上服务瘦身50%”项目获得公司级技术型一等奖,指导多个团队完成系统精简,积累了大量经验。毕业后曾就职于 BES,从事 PaaS 云、DevOps 平台开发工作。
去哪儿旅行 资深开发工程师

一年狂砍 2500 万行代码,零故障!去哪儿网系统瘦身技术揭秘

议题介绍

去哪儿网内部常用应用个数超 3000 个、代码行超 5000 万,开发人均负责 5 个应用、10 万行代码。这种情况下,一方面对历史代码的维护负担重,另一方面业务高速发展、对开发效率要求高。
 为解决这个矛盾,在 2022 全年开展了公司级的系统瘦身项目,最终成功精简了约 50% 的代码,超 2500w 行代码被删除。在整个过程中我们找到了一条高效、零风险的系统瘦身的方法,积累了大量代码精简经验,分享给大家。希望能让开发同学轻装上阵,减少系统债务、提升研发效能。  


内容大纲 

1. 背景介绍    
    1)背景        

    2)问题          

    3)目标         

    4)挑战         

    5)整体思路
2. 服务精简实战
    1)可精简服务特征分析
          - 合并服务:能合并的服务,有什么特征              - 删除服务:能删除的服务,有什么特征
    2)“找得到”:根据特征自动、批量找到可精简服务目标集
          - 没流量           - 不迭代           - 删得好
    3) “删得好”:删除服务,要求 准、全、快  
3. 代码精简实战
    1)可精简代码特征分析
    2)“找得到” 方案选型:通过技术手段,找到线上无流量的代码集。可选方案:AOP、Agent、SA
    3)SA 方案详细设计
          - 性能无损跑数         - 跑数代码实现           - 计算可精简方法集          - 校准可精简方法集
    4)SA 整体方案串联
    5) “删得好”
          - 全自动代码精简方案           - 半自动代码精简方案           - 验证 “删得好”
 4. 最终效果    
    1)平均需求耗时降低 10.9%
    2)平均发布耗时降低 9.5%
 5. 未来展望    
    1)代码行粒度流量分析
    2)长周期代码
    3)配置精简
    4)依赖精简
    5)自动化服务合并


听众收益 

1. 后端开发者:了解多种代码精简技术及其优缺点,重点掌握 SA 技术,零风险实现对线上代码的精简
2. 团队管理者:获得一种团队代码治理、提升开发效率的手段

SECon组委会是由业界多位资深技术专家发起,负责组织技术指导委员会,并和委员会的专家一起挖掘全球软件工程领域的创新技术,同时依托智盟创课国内领先的人才能力提升服务供应商,组织专业的会务服务团队,全面推进会议的顺利落地,保证参会者体验。
商务合作:木子  15122643988
票务联系:丽媛  18600050529
E-mail:speaker@secon.com.cn 
关注SECon公众号
添加SECon小助手,获取
会议最新资讯