2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

麦当劳中国:打造 MACH 架构的数字化巨无霸

  • 2024-11-04
    北京
  • 本文字数:5540 字

    阅读完需:约 18 分钟

大小:2.75M时长:16:01
麦当劳中国:打造 MACH 架构的数字化巨无霸

在全球 All in AIGC 时代,传统企业正面临着一场前所未有的变革风暴——数字化转型。这不仅是一场技术的革命,更是一场关乎未来生存与发展的持久战。


IT 团队在这一过程中扮演着至关重要的角色,他们需要在技术选型、架构设计、项目管理等方面具备高度的专业性和灵活性。


麦当劳中国就是这样一支“能打硬仗、能打胜仗”的队伍。


这支由 300 多位资深技术专家组成的精英队伍,主要分布在上海和南京,团队成员不乏大量名校海归技术人才,他们中既有深耕传统 IT 行业十几年,甚至二十几年的专家,也有伴随互联网高速成长起来的架构师和工程师,他们技术功底深厚,具备前瞻性的视野和深厚的技术底蕴。此外,作为一家传统外企,多年来与总部和各国市场打交道的经历,为团队带来了丰富的国际视角和管理经验。


尤为值得一提的是,这支团队的凝聚力、创新力和文化向心力都是极强的。在这种合力的推动下,麦当劳 IT 团队在多个方面取得了亮眼的成绩。


他们不仅从 0 到 1 地构建起面向 C 端的技术体系,还开发出了亿级下载量的麦当劳 App,且用户评分保持在 4.9 分以上。


然而,这些耀眼的成就并非一蹴而就的,向数字化迈进的每一步都需要团队凭借敏锐的洞察力、坚定的决心去不断探索和尝试。

自研底层技术,重塑数字生态


在技术转型的初期,作为一家传统意义上的甲方公司,麦当劳在技术层面面临着和其他甲方公司一样的问题:依赖第三方(乙方)的技术解决方案。由于这些第三方交付的技术栈包含多种编程语言、框架和数据库等,使得系统的整合与维护工作变得既复杂又困难。


更难的是,这些复杂多样的技术栈的维护周期、升级路径各不相同,需要投入大量的人力物力和财力来协调和管理。并且第三方技术的升级也可能带来兼容性问题,增加了系统的风险。


麦当劳 IT 团队举了一个很直观的例子。过往,由于技术栈的复杂性,导致麦当劳小程序里的许多功能都是相对割裂的,用户在点餐过程中可能需要频繁跳转至不同界面,可能点餐是一个界面、取餐是一个界面、支付又是另一个界面了,这样用户的体验肯定算不上好。


而现在,麦当劳自研构建了与全球其他市场不同的专属 App 体系,并辅以智能化的小程序平台,不仅实现了“All in One”的一体化(即采用统一的技术架构与体系)设计,还增加了针对 C 端(消费者端)的流量获取与互动,确保用户体验的连贯性与便捷性的同时也提升了用户满意度和粘性。


经过 IT 团队优化后的 App 下载其安装包体积较之前版本缩小了 50%,可用性提高了 20 倍,首屏加速直接提升了 100 倍。


这些数字足以证明,摒弃了外力的拐杖,构建自研数字化生态系统成了麦当劳的必然选择。

拥抱 MACH 体系,从 0 到 1 筑起坚实技术底座


虽已锚定好方向,但万事开头难。思考从哪里开始“动手”时,IT 团队还是慎之又慎。


经过多年的技术沉淀和积累,麦当劳 IT 团队深知,在数字化转型的进程中,稳定的系统和模块层次结构对于组织来说至关重要。而在麦当劳内部,散落着数量众多的 IT 系统和各式各样的模块,如何让这些系统和模块以一种统一化的语言让各业务部门清晰地理解和感知,是麦当劳数字化转型过程中的关键一环。


落实到技术上,麦当劳 IT 团队采用了一套基于微服务(Microservices)、API 优先(API-first)、云原生(Cloud Native)和无头架构(Headless)的 MACH 架构体系作为“统一的技术语言”来构建技术底座,并强化技术能力。



作为一家坐拥数千家门店的餐饮界巨擘,麦当劳在构建自己的技术体系时,最为突出的几个追求就是技术的统一和复用性、极致弹性以及开发的敏捷性,而微服务 + 云原生的技术组合正好可以满足上述几个需求。


微服务架构可以允许麦当劳将其庞大的业务系统拆分成多个小型、独立的服务。这种拆分能让每个服务都可以独立地进行开发、部署和扩展,从而大幅提高系统的可扩展性和灵活性。


所以麦当劳 IT 团队首先进行了微服务的构建。到目前为止,麦当劳 IT 团队已基于强大的基础设施和一系列先进工具,构建了数量庞大的微服务体系,包括 600 多个微服务及 4000 多个实例。利用微服务架构,业务被巧妙地拆分成多个独立的服务,实现了服务的深度解耦与高效隔离。为了进一步增强系统的稳定性和可靠性,麦当劳在微服务架构中融入了限流、熔断及降级机制,这样做既能有效避免因流量过载而导致的系统崩溃,又能确保突发情况出现时,问题服务能被迅速隔离,从而保护整个系统的平稳运行。此外,微服务架构还支持容器化和自动化部署,进一步提升了系统的稳定性和可靠性。



据麦当劳 IT 团队介绍,在项目之初,他们就选择了 Kubernetes(k8s)作为部署的基础,旨在逐步将历史系统转型升级为基于 k8s 的微服务架构。当面临将开发部署环境从原先由第三方(乙方)提供的技术解决方案迁移至内部数据中心时,团队充分利用了 k8s 平台强大的兼容性和灵活性, 将系统迁移到内部 k8s 集群进行统一管理, 并且在后续的系统建设过程中, 逐步搭建了一整套的围绕微服务架构的基础设施, 涵盖了服务管理、编译打包、测试、部署、监控、巡检、日志、告警、APM 等各项基础能力, 避免了重复建设,实现了向微服务架构的平滑过渡, 也显著提升了系统的可扩展性和可维护性。


然而,仅有微服务还不够。作为直接向终端消费者提供服务的主体,麦当劳在后台所面临的技术挑战实则与众多高科技企业旗鼓相当。特别是在当今交易高度数字化和电子化的环境下,确保服务流量的灵活弹性成为了麦当劳面临的又一重大考验。当遇到一些节日或者促销活动时,高峰期业务流量甚至达到了十几甚至几十倍的增长,这就对技术稳定性和系统弹性提出了极高要求。


为了应对这一挑战,IT 团队参考 CNCF 的技术蓝图,选择了云原生技术路径,将微服务容器化,边车化,可观测,易于编排及管理,并且在此基础上构建了混合云架构。具体而言,就是将最核心的数据、最底层的服务以及中后台的服务放到 IDC(数据中心)上,另外将一些对于流量弹性有极致要求的服务部署在多朵云上,以此来满足业务需求。


以麦当劳今年举办的“88 金粉节”为例,面对活动期间可能出现的流量高峰,麦当劳 IT 团队通过混合云架构展现出了卓越的灵活性。他们提前预估了活动流量,并进行了详尽的压测,基于测试结果进行了资源的提前扩容。在活动期间,云架构能够实时监测流量变化,并适时进行流量的扩容和调整,确保每一位用户都能享受到流畅、稳定的服务体验。


更重要的是,云原生技术的采用不仅是为了利用云上资源的灵活性和可扩展性,还希望通过云原生技术简化微服务体系的复杂度,将基础技术细节交由基础设施层或平台层处理,从而使技术人员能更专注于业务逻辑本身。


构建完底层技术基础后,如此多的微服务之间该如何交互?麦当劳 IT 团队采用的是 API-first 契约,并基于这样的理念去构建整个 API 生态。


事实上,麦当劳 IT 团队构建了一个完整的 API 管理系统。这个系统不仅涵盖了 API 的整个生命周期管理,还深入到了 API 的 Runtime 管理和静态管理两个层面。


在 Runtime 管理方面,系统能够处理与稳定性相关的各种需求,例如监控、告警、限流、路由等等,保证 API 高效运转的同时又能有效应对各种突发状况,维持系统的整体稳定。


而在静态管理方面,系统则专注于 API 的定义、评审以及生命周期的管理。值得一提的是,麦当劳 IT 团队还引入了基于 AI 的 API 评审技术,通过训练 AI 模型,使其深入理解并遵循麦当劳的 API 规范。在 API 评审流程中,AI 模型会对 API 进行规范性的验证,包括检查 API 的命名、参数、返回值等是否符合规范,以及 API 的设计是否满足业务需求和安全性要求。这样做的好处是,AI 模型能够迅速识别并指出 API 设计中存在的问题,帮助开发人员及时修正,从而确保 API 的质量和规范性。这一评审技术的引入,不仅大幅提升了评审效率,还降低了人为评审可能出现的疏漏和错误,为麦当劳的 API 管理提供了强有力的支持。


随着业务需求的不断拓展,API 接口支持需要从内部延伸向外部也就是要支持多样化的平台接入。以卡券能力为例,麦当劳希望通过开放平台,让用户能够在天猫、淘宝、银行等平台上轻松领取优惠券,并在实际消费中享受到优惠。而这一过程的实现,自然就离不开 API 开放平台,它作为桥梁,连接了麦当劳的内部能力与外部需求。


目前,麦当劳内部的核心链路上约有 600 多个微服务体系,4000 多个实例,超过 17000 个 API(包含 Open API),这些 API 为 600 多个核心服务提供了必要的接口支持。



有了统一的 API(契约)后,麦当劳进一步意识到,在多元化的终端环境下(包括 iOS、安卓 APP、微信小程序、支付宝小程序以及门店的竖屏机等),保持前后端的解耦与灵活适配至关重要。为此,麦当劳采用了前后端分离的无头(Headless)架构,通过 API 作为中间层进行交互。这种设计使得前端可以专注于用户体验与界面设计,而后端则专注于业务逻辑与数据处理。当需要新增或修改终端时,只需调整前端展示与 API 调用方式,就可实现快速适配与上线,提升了系统的灵活性与可扩展性。


麦当劳 IT 团队坦言,之所以坚定地选择 MACH,是因为看到了这套技术体系本身具有的先进性和全面性。


MACH 的全面性体现在它集齐了四种当下最为广泛采用的技术,不仅涵盖了微服务架构的分布式、松耦合特性,还强调了 API 优先的设计思想,以及云原生的自动化运维和无头(Headless)架构前后端分离的优势,让技术团队在一个统一的框架下,系统地规划、构建和优化技术体系。


它的先进性则体现在可以为技术演进提供清晰的方法论,帮助团队在顶层设计阶段就确立正确的方向,避免在后续的开发和运维过程中陷入技术选型的慌乱中。


全面推进 MACH 体系的采用后,IT 团队在技术的交付质量和交付速率上都有了显著提升。


交付质量的提高主要体现在两个维度上:一是功能质量,即产品或服务的功能是否完善、满足用户需求;二是稳定性,即系统或服务的运行是否可靠、故障率低。


麦当劳 IT 团队在接受 InfoQ 采访时表示:“自从建立起完整的自主技术体系后,问题出现的频率较以往有了大幅降低,这充分说明了我们在技术的稳定性和功能质量上有了显著提升。”


交付速率上去了则意味着麦当劳能够更快地响应市场需求,将产品或服务推向市场。



此外,从 IT 投入占比的角度来看,MACH 体系的实施也带来了立竿见影的成效。尽管随着业务规模的扩大,IT 投入的绝对值在增加(这主要是由于门店数量的增加和业务范围的拓展),但 IT 投入占整体营收的比例却在下降。也就是说,麦当劳在提高技术自主可控能力的同时,也能更加有效地控制 IT 成本,实现效率与效益的双重提升。

解锁未来:MACH 是企业数字化的‘万能钥匙’吗?


在麦当劳中国探索数字化转型的过程中,MACH 架构体系扮演了至关重要的角色。但 MACH 体系是否适合所有数字化转型的企业呢?


这个问题值得深入探讨。但从麦当劳的技术实践来看,MACH 体系确实可以帮助企业解决他们在数字化转型时面临的一些棘手问题。


以数据资产为例,数字化转型进入深水区后,如何有效管理和利用企业内部数据是企业面临的最艰巨的技术挑战之一。


在麦当劳 IT 团队看来,解决这一问题的关键在于构建统一的系统架构,麦当劳采用的 MACH 架构体系就能很好地保障系统间的互联互通与数据的一致性。


“我们以 MACH 架构体系为基础,目标是让开发、运维、测试、业务相关人员能够在一个统一的平台上高效协作,培养敏捷的工作方式,形成规范的产品开发流程,从而实现快速且高质量的业务交付。”麦当劳 IT 团队表示。


但麦当劳 IT 团队也强调,虽然 MACH 已经在麦当劳的实践中证实了其为企业数字化转型带来的独特的价值,但不同规模与类型的企业在适应性上存在着一定的差异。


就拿 API-first 和 Headless 无头架构来说,这两项技术作为 MACH 框架中的基础元素,几乎对所有技术驱动型企业而言都是不可或缺的。这些架构模式可以极大提高系统的灵活性和可扩展性,帮助企业更快速地响应市场变化。因此,无论企业规模大小,引入这些架构原则都能带来显著的效益。


但引入 MACH 中的另外两个元素——微服务和云原生技术(MACH 中的 M 代表微服务)时,情况就变得复杂起来。微服务架构虽然以高度的模块化和灵活性著称,但它并非适用于所有场景。对于规模极小的企业而言,盲目构建微服务架构反而会增加不必要的复杂性和成本。



对于中等及以上规模的企业而言,在具备足够的技术实力和资源支持的情况下,通过合理控制微服务的大小和边界,可以充分利用微服务带来的灵活性和可扩展性优势,推动企业的数字化转型和业务发展。


此外,云原生的采用也具有一定的技术门槛。这项技术不仅需要开发人员具备一定的专业技能和知识,还需要整个技术团队能够熟练掌握并有效整合这些技术。在麦当劳,他们就专门建立了一套在内部称之为“Ninja”的平台工程工具体系来降低云原生技术采用门槛。


也就是说,企业在决定是否引入 MACH 等现代技术架构时,应充分考虑自身的业务规模、技术实力和发展需求,避免盲目跟风造成不必要的资源浪费。

以 MACH 为翼,麦当劳领航餐饮业转型新浪潮


在谈及未来的技术规划时,麦当劳 IT 团队明确指出了其技术发展的核心支撑——MACH 架构体系,并强调团队将围绕三个关键领域展开工作:服务顾客、服务餐厅员工以及服务企业。


在服务顾客层面,麦当劳致力于通过数字化手段,提供更加个性化、便捷的服务体验。


在服务餐厅员工方面,麦当劳将重点聚焦于员工工作模式的创新与变革。通过引入数字化工具及解决方案,简化餐厅管理流程,提高工作效率,使员工能够更专注于提升顾客体验。


在服务企业方面,麦当劳的目标不仅仅局限于内部管理的提升,更希望通过构建高效的数据体系,实现对市场趋势的精准洞察,从而为企业的经营决策提供有力支持。


麦当劳的数字化转型是一场静水深流的变革,它不仅仅关乎技术的升级与飞跃,更是对餐饮行业未来趋势的深刻理解与勇敢尝试。在这个日新月异的时代,麦当劳正躬身入局,以践行者的姿态,继续引领全球餐饮行业的数字化转型浪潮。

2024-11-04 17:526971
用户头像
李冬梅 加V:busulishang4668

发布了 1086 篇内容, 共 703.9 次阅读, 收获喜欢 1242 次。

关注

评论

发布
暂无评论
发现更多内容

如何构建你自己的 JVM (2) HelloWorld

孤星可

Java JVM 深入理解JVM

让你秒懂Spring中Mybatis的花样配置

小谈

Java spring 面试 Spring Cloud mybatis

攻克SpringBoot底层源码后,才发现开发原来这么香

无予且行

Java spring 面试 Spring Boot 开发

慧点OA转战政企市场,钉钉们羡慕么?

人称T客

week 04 总结

Safufu

计算机操作系统基础(九)---存储管理之段页式存储管理

书旅

php laravel 线程 操作系统 进程

从 0 到 1 搭建技术中台之推送平台实践:高吞吐、低延迟、多业务隔离的设计与实现

伴鱼技术团队

kafka 缓存 分布式架构 消息推送 push

使用 Flutter 快速实现请假与写周报应用

LeanCloud

flutter 后端 数据 教程

【思考】-产品等级与市场定位匹配

superman

定位 产品定位

环信荣登36氪WISE2020企服金榜-智能客服榜首

DT极客

分布式系统架构学习总结(第四周)

~就这样~

架构师0期04周总结

我在终点等你

这20道微服务面试题要是不会,offer就与你无缘

犬来八荒

Java 架构 面试 微服务

从0-1学习项目方案设计

赵孔磊

ARTS 第 4 周

乌拉里

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

~就这样~

聊一聊 HashMap

江城子

Java hashmap

Java 面试必考的 6 个技能,都在这了

架构大数据双料架构师

javascript 部分数据类型的用法

Isuodut

架构师训练营第四周感悟

张锐

极客大学

架构师0期04周命题作业

我在终点等你

极客大学架构师训练营 系统架构 第8课 听课总结

John(易筋)

极客时间 系统架构 极客大学 极客大学架构师训练营 系统架构演化

系统架构:学习小结

梅子黄时雨

极客大学架构师训练营

系统结构:作业

梅子黄时雨

极客大学架构师训练营

谈一谈年终奖中的那些坑

张小方

程序员 面试 offer 薪资 年终奖

Week4总结

王志祥

极客大学架构师训练营

年薪百万架构师推荐的888页Java王者级核心宝典,offer直接来

无予且行

Linux 性能优化实战 笔记-IO篇

程序员老王

一文读懂 TypeScript 泛型及应用

阿宝哥

Java typescript 大前端

week 04 作业

Safufu

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十四)编写测试-内建扩展

编程道与术

Java 编程 TDD 单元测试 JUnit

麦当劳中国:打造 MACH 架构的数字化巨无霸_数字化转型_李冬梅_InfoQ精选文章