4月11日至13日,2024QCon全球软件开发大会在北京隆重举行。货拉拉货运研发部技术总监亓隆基应邀出席本次大会,并在“高质量架构”专题论坛上发表主题演讲《货拉拉交易履约业务架构 2.0 升级——高质量架构升级之路》。亓隆基认为,高质量架构必须能够“有快好”地支撑业务发展,不仅要满足业务需求和保障稳定性,还需要能够支撑未来业务变化,在这一目标下,货拉拉探索出了可维护性和可扩展性、资源和时间、可靠性和稳定性以及零故障迁移四个解法,走出了一条独特的高质量架构演进之路。
时间紧任务重,货拉拉架构的升级难点
在演讲中,亓隆基详细讲解了高质量架构演进的基本规律、货拉拉架构面临的痛点和挑战以及高质量架构的搭建方法。他表示,一个业务的生命周期包括启动期、发展期、平台期、衰退期和消亡期,这个发展过程会受到康威定律(设计系统的架构受制于产生这些设计的组织的沟通结构)、熵增定律(孤立的系统总是从有序变成无序)、人月神话(在延期项目中增加人力资源将会提高沟通成本而导致项目进一步拖延)的限制。
“大部分业务形态会经历单体架构 、服务化和平台化、中台化三个演进阶段,但这并非绝对,并没有一套提高软件生产力的万能方法,因此应根据实际情况找到适合自己组织、业务发展状况的架构演进策略。”亓隆基说。
而在架构建设之路上,货拉拉也并非一帆风顺。据亓隆基介绍,在实现货拉拉交易履约业务架构 2.0 升级之前,货拉拉已经成功将一个大单体划分为网关层、业务后端和管理台三个模块,但随着业务发展,这个架构也越来越力不从心。因为领域边界不清晰、业务架构和技术架构不明确,货拉拉的高质量架构建设过程存在迭代协作成本高、稳定性保障压力大、需求开发周期长、需求支持成本高、运行成本高等多个痛点,同时还面临着创新业务蓬勃发展导致需求爆满、人力资源有限、时间紧张以及万无一失的高标准压力等挑战。
零故障零资损迁移600亿数据,货拉拉架构升级之道
为了解决上述痛点,货拉拉也探索出了一套独特的“解法”。据亓隆基介绍,这套“解法”主要包含四个方面:一是可维护性和可扩展性解法。主要需要做到“三定”,即定架构分层、定应用架构以及定核心模型;二是资源和时间解法。向管理层说清楚成本、收益和风险、并通过清晰的项目计划和资源投入预估报告获取管理层支持以及做到信息透明;三是可靠性和稳定性解法。必须遵循弹性设计(确保链路弹性)、快速恢复(确保系统自愈能力)、运维左移(做好可观测性设计)三个原则;四是零故障迁移解法。采用最高标准的开发测试包装手段,借鉴流量回放的思路搭建仿真回访系统。
“最终,货拉拉技术团队上线10 个新核心系统,下线 13 个系统,新建超40张核心表,做了超150篇系分文档分析,新建超250条核对规则,对超1700 个业务字段进行了分析和迁移,总共迁移600亿数据,而这个过程全程零故障、零资损,上线之后降低20%的成本,提升50%的效率,可以说真正做到了‘有快好’。目前,这个新的架构已经能够支撑像企业撮合、转单、司机专送平台等多种业务创新,为业务节约三个月以上的时间,同时还将支持货拉拉未来五年业务的发展变化,包括多业务及多运力组合、灵活分流下单等。”亓隆基表示。
在演讲的最后,亓隆基指出,要想做好高质量架构设计,既需要深入了解业务,探寻业务的本质,还要有敢想敢干的魄力。高质量架构,永远在演进的路上,每一次全局架构升级,都是一次技术理想的实现,也都是一次脱胎换骨的经历。未来货拉拉也将始终在探索中前行,从而更好地支撑业务的快速发展以及低成本创新的目标。