如何提升研发效率

摘自《大型网站技术架构演进与性能优化》

一、沟通效率:通过规范和约定把大家圈在同一个语言频道里

1、统一的术语,减少沟通成本

2、结构化表达需求,将一系列需求用术语、图表、页面等更好理解的方式呈现

二、开发效率

1、开发态和运行态分离:线下开发都是独立进行,各自owner各自的代码,但是线上部署在同一个容器中,兼顾开发效率和运行效率

2、对系统进行分层和抽象建模:提炼公共模块,减少重复开发,对典型交易场景进行建模设计,使整个交易流程可拓展

三、测试效率

全链路beta测试:保持beta环境与线上环境的一致性,各链路环节均打通,保持环境稳定性,可实现以下效果:

1、测试环境招之即来、挥之即去

2、在分批发布之前,可以在极短时间内有针对性的验证核心功能

3、也可以选择性的屏蔽cache访问

4、数据轨迹可以实时透出

运维效率:

1、打包编译环节

  • 优化流程:环境分配,可预先分配好代码copy,要主动准备而不是每次代码编译时才准备环境
  • 预处理:监控版本代码修改,当代码修改后,自动触发代码合并冲突检查,不要等到用户点击再触发 ; 每个分支代码更新主动和主 干做 Merge,发现有冲突要主动通知相应开发人员修改 , 不要等到 打包部署 时 再临时修改 ;
  • 代码编译优化:规则检查,业务依赖包要做到规范化管理,通过工具识别依赖,优化maven配置减少不必要的消耗
  • 增量编译:只编译变化的部分,比较代码修改时间可以得到被修改的类
  • 打包机器硬件升级 ,提高编译速度

2、代码部署:

分布式系统进行滚动更新,保证流量切走之后再停止服务,同时保证现存提供服务的机器能满足当前系统压力需求

3、回滚:

可直接利用本机老代码包直接部署,有的持续化集成工具如jenkins可支持直接选取版本回滚,注意回滚也需滚动更新

 

 

 

你可能感兴趣的:(java)