重大技术改造和测试项目:
1. 合思接口自动化平台建设和核心场景全覆盖
背景:伴随着迭代需求逐步增多,线上缺陷工单较多,产品问题发现不及时,测试效率低等问题出现,质量内建诉求越来越高。←
实践:基于 MeterSphere,及二次开发完成测试用例管理,自动化用例管理和脚本编写。实现 1-2 个核心测试开发人员带动整个测试团队一起完成了 2000+接口的覆盖及 3000+核心,次核心场景的正向及逆向场景,并实现每日构建中保证接口自动化的全部通过才能作为今天工作的完成,并进行端到端的探索性场景进行人工覆盖,保证了测试效率和产品质量提升。4
成果:测试效率提升 50%以上,质量提升 40%左右。<
2. 合思稳定性体系建设和已有架构优化“
背景:合思稳定性问题十分突出,入职后发现了比较核心的架构设计问题“
实践:主要从三个方面解决。首先发现研发流程尤其是发版流程无序,优化了发版的流程机制;然后进行架构的优化,发现使用 Maxwell binlog,的订阅机制,然后全量数据通过事件监听发送到 kafka,集群,全部使用一个 topic 进行分区和消费,会经常导致消息堵塞。解决方案为按领域使用不同的topic。最后,针对数据倾斜的问题,使用单据ID 做为分区方式代替客户ID,彻底解决了消费不及时导致的线上故障问题。同时做了大量其他性能优化工作。“
成果:稳定性提升100%以上(从故障数看),稳定性和可靠性大幅提升。“
3. [阿里本地生活】主导灰度发布项目
背景:业务需求增加迅速,发版节奏每周一到周四均可发版,发版质量不佳,线上问题不断。为了降低线上问题对客户的影响范围,发起该项目。
实践:整个过程持续很长时间,首先是分区部署项目,实现小蓝绿发布,但是不能灵活按照品牌切流量。进而开发金丝雀发布产品,通过品牌id,公网IP 流量灵活切换流量来设计该产品。在实施过程中,业务需求和技术改造的平衡是最大问题。资源受限的产品线面对的最大问题,短期交付压力和长期技术改造红利的平衡,涉及到了大量的沟通成本,技术层面的改造也同样受到了挑战。调整为在新单元区接入灰度发布的策略,解决了团队的顾虑,通过封装[ureka 客户端和负载均衡 Feign,解决了产品线的对接难度,进行了统一的项目统筹解决了调用链循环依赖,对接标准不统一的问题。“
成果:实现了灰度发布,大大降低了线上问题对大部分客户的影响,提升了客户体验。“
4.【客如云】主导大数据自建 Hadoop 集群迁移到阿里云 Max compute
背景:在阿里云白建 Hadoop 集群出现丢数据问题和集群在该可用区无法扩展问题,为了解决这些问题和降低运维成本,故发起该项目。←
实践:分为调研,实施和收尾三个阶段。在调研阶段的策略为小范围测试,发现了阿里云的一些产品问题以及和我们现状不匹配,不兼容的问题。同时在实施阶段,如何下掉自建 ODS,如何把数据模型迁移到 HOLO 上都遇到了名种各样的挑战。同时还发现 kylin 和 MaxCompute,不兼容,导致 hadoop,集群无法下线的困难,我们重构 kylin 的部分原代码来进行兼容。甚至是在 Maxcompute,采购方式上也踩了坑。采用绞杀应用模式,新建,共享,切流,最终完全迁移到 MaxCompute。e
成果:最终历时近1年最终迁移完成,为建设数据中台打下了坚实的基础,降低了40%的运维成本,解决了计算和存储无限水平扩容的问题。“