《美团到店测试环境建设实践-李可欣.pdf》由会员分享,可在线阅读,更多相关《美团到店测试环境建设实践-李可欣.pdf(38页珍藏版)》请在三个皮匠报告上搜索。
1、美团到店测试环境建设实践美团 李可欣美团/到店平台技术部/测试部供应链平台质量保障/商品平台质量保障李可欣录美团到店测试环境使现状美团测试环境发展历程 总结与展望01 美团到店测试环境使现状微服务架构带来的挑战互联公司现状 数以万计的应服务 服务间依赖关系错综复杂 业务发展迅速持续交付成熟度的益提升3600+个动化测试例量级2万+次/测试例执次数130+次/PR流线执次数3000+QPS测试环境单机*以到店某向为例依托于测试环境运的各级流线检查研发阶段主要作逐级交付触发机制质量环节测Pipeline提测PipelinePR Pipeline集成Pipeline发布Pipeline开发联调正式提
2、测PR 合服务集成上线发布快速暴露代码问题提测质量/环境验收全质量保障多服务集成问题规范发布和兜底本地Push代码发起提测任务发起/更新PRPR通过/范围变更Plus发布单元测试全量静态代码扫描Draft PR提测前测单元测试全量静态代码扫描分规范检查代码冲突检查测试环境部署动化测试测试覆盖率单元测试增量静态代码扫描PR冲突检测预合并代码测试环境部署动化测试测试覆盖率场景测试全链路测试测试覆盖率预合并代码集成链路分析测试环境部署灰度发布环境发布中检查线上动化测试发布前检查ACA检查Release tag变更Pipeline线上变更变更质量保障数据/配置变更线下动化测试变更审批线上动化测试规范检
3、查ACA检查配置同步线下WIP PR对测试环境的认知迭代测试环境是线下切研发测试活动的基础需求设计开发测试代码合分组发布 分组发布 分组发布线上运维构建测试环境产环境对测试环境的认知迭代随着业务的发展和持续交付成熟度的提升,测试环境的数量剧增我们对测试环境稳定性的要求也上升到新的度13N02 美团测试环境发展历程 测试环境发展历程发展期动化变期精细化2017年2018年2019年2020年今建设期标准化第阶段:从单环境到容器化(2017-2018)问题:基建度环境搭建效率问题环境复杂01 量服务,依赖关系复杂 多场景,多版本流程复杂,涉及多个系统02 机器申请 服务部署 域名注册动化程度低03
4、第阶段:从单环境到容器化(2017-2018)问题:使度环境稳定隔离问题链路依赖,单环境不稳定01测试法并化,所测所发02快速创建互相隔离0102030405有稳定易效解决从到有标解决案主:提供全链路环境的完整性、稳定性撑和致性保障;泳道:负责项间测试的隔离,保证互不扰原则:主和线上部署同套代码保证功能稳定可;泳道于需求测试随随建、完即删泳道:基于容器化的测试环境管理平台、能够快速(分钟级别)创建环境、同时实现链路隔离基本原理env=testswimlane=likexin06-ckahs服务ARPC框架env=testswimlane=likexin06-ckahs服务BRPC框架env=t
5、est服务ARPC框架env=test服务BRPC框架(3)泳道节点调泳道节点(3)主节点调主节点注册中(2)获取服务列表,若有泳道为likexin06-ckahs的下游节点,则访问,否则fallback获取主节点列表访问(1)动注册,上报泳道等信息,节点上携带泳道为likexin06-ckahs的标识(3)获取服务列表,过滤所有带泳道标识的服务节点,未携带泳道标识的为主机器些数据到店主数160到店每创建泳道数2w+条+主机器总数近7000台每持续交付流线动创建泳道数近1w每触发动更新次数近1w*数据范围到店平台技术部第阶段:从基本稳定到度可(2018-2020)硬件设施的线上线下差异01 服
6、务单机配置/服务机器数量/DB机器配置,线下低于线上基础服务功能的线上线下差异02运维段的线上线下差异03 监控报警配置及跟进 主的过滤识别问题:测试环境的稳定性问题稳定可0102030405有稳定易效标解决从有到稳定易户使规范约束具化管理段解决案户使约束户使约束泳道命名规范主禁为泳道使规范主权限管控、部署分限制等为约束根据泳道途遵守命名规范基于泳道特性落地使规范具化管理段权限管理配置规范服务监控变动感知故障感知主配置规范分配置(必须和线上致)平滑发布配置主权限管理主创建权限、操作权限主注册权限主服务监控端监控:稳定性监控接监控:可性监控应监控:业务告警监控主故障感知熔断降级通知机器故障通知主
7、变动感知代码变更动更新主核配置变更感知具化管理段端监控:稳定性监控 SLA:99.9%接监控:可性监控 SLA:99.5%主服务监控举例业务告警监控依赖DB容量监控建设效果*以到店某向为例2022H1主告警原因分布原因分布TOP环境问题*76数据问题*59代码问题*40配置问题*17解决案根据主流量特性合理调整配置脏数据清理/清理具优化/动化优化异常/边缘场景上线前通过主观察流程规范/上线顺序等合理化有效拦截员意识QA员对常/预期外异常“有数”RD员保持上线前主观察习惯第三阶段:从够到效(2020-今)问题:粗放式管理带来的资源滥问题成本¥质量VS搭建搭建成本搭建管理成本搭建维护成本搭建资源成
8、本效稳定多套环境各独成本可控0102030405有稳定易效第三阶段:从够到效标:在够的基础上效利资源测试环境使特点作时间基本流量A1B1D1假设依赖链路:A-B-C-DABCDfallback回主回调到泳道泳道已存在不会调主泳道主泳道流量路由原理解决案1:闲时回收全天节假作作时间晚间使时回收固定闲时释放01连续超过xx时间流量不重新部署02次重新部署连续超过xx时间操作不重新部署03解决案2:中间节点释放A1B1D1假设依赖链路:A-B-C-DABCDfallback回主回调到泳道泳道已存在不会调主泳道主若D本身相主差别,则需部署进泳道和主代码相同节点定时监控回收01解决案3:服务动态监控调整
9、单机配置机器数运时 主要服务资源利率发布活跃度调频度线上对定时监控动态调整定时监控容量类型服务特性时间周期实际性能实际途时间周期实际使定时监控单价量线下环境稳定性监控 废弃服务下线感知兜底检查下线流程规范 次要服务资源池隔离合并部署探索资源利率最化最终效果测试环境资源成本明显下降最终效果近两年美团到店测试环境总账单及服务资源利率趋势2021Q12021Q22021Q32021Q42022Q12022Q22022Q32022Q4资源利率资源利率趋势测试环境总账单账单趋势测试环境总结泳道发展期动化变期精细化2017年2018年2019年2020年今泳道2.0资源管理+稳定性治理泳道使规范稳定性监控动升级主监控报警配置及权限管理弹性伸缩已下线服务清理定时删除部署资源使监控可性监控泳道易性提升基础设施能建设需要随着业务以及质量建设的发展持续升级 容器化测试环境稳定性的关键在于主稳定性,其要求某种程度线上更建设期标准化美团到店测试环境发展历程03 未来展望 未来规划更科学的环境度量体系建设测试环境资源管理输输出指标测试环境稳定性指标完备度测试环境告警结果综合度量更精细化分析及更多场景应全场景模拟极端场景模拟链路强弱依赖分析分层建设测试环境可