去哪儿网系统防腐化治理实践
李佳奇
14年加入去哪儿,目前担任技术总监,负责机票主系统后服务和用户体验技术团队,同时担任业务架构SIG负责人,机票架构组负责人,在复杂系统架构设计, DDD落地,高并发高吞吐系统设计等领域积累大量经验。
如何定义腐化 如何测量腐化 如何治理腐化
The Open Group Conference 2015 中给出的复杂度评估模型
国防科技大学学报41卷第1期-系统复杂性及度量
McCabe度量法
圈复杂度 基本复杂度 模块设计复杂度 集成复杂度 行数 规划复杂度 全局/局部/病态数据复杂度
外部客观诉求 系统自身特征 系统所处链路 系统集成难度 复杂度影响表现
模型通用性——由于我们是针对整个 Qunar 技术中心的系统进行复杂度建模,因此模型需要兼顾各类业务场景下的各类系统,模型中包含的指标应该足够通用化,避免使用带有特定场景特征的指标。 指标可测量性——模型是要服务后续的治理动作的,因此模型中包含的指标一定要能够实际可测量,要充分了解并考虑到目前技术基础设施层面对于系统各项指标测量的支持能力。 可解释性——模型中每个指标及其计算方法要充分可解释,满足各技术团队的接入需要,尽量减少技术团队对于模型的疑议。
所有应用放到一起对比是不合理的,应该结合具体对应的业务一起来对比 在应用和业务之间需要建立一个系统层,由若干应用组成一个系统来与业务产生关联,在进行复杂度计算时已系统作为基本单位 应用是动态变化的,而业务和系统相对稳定 通过系统这个概念,可以把核心应用和非核心应用放到一起参与评估
搭建业务域管理平台,进行元数据管理和看板建设 基于 Qunar 的应用管理平台进行应用和系统绑定 实现模型的计算模块,对接到看板
JIRA 提供应用和业务重点项目 Epic 之间的关系 发布系统提供应用和系统的绑定关系 Sonar 提供应用代码静态数据 Tracing 负责系统内外应用的链路解析和数据提供 混沌入口基于混沌演练配置提供各业务和系统核心入口 线上覆盖率系统提供代码覆盖率等模型计算需要的核心数据
目前防腐机制纳入了 Qunar 技术中心的1800+应用,涉及28个业务域和120个系统 技术团队覆盖技术中心9个三级部门 触达治理计划4个,完成3个 目前整体复杂度增长控制在1.14%,在合理水平
以上就是本次分享的所有内容啦!
最后,给大家带来一些岗位招聘信息。
你与驼厂只差一份简历的距离
快扫码投递吧