写点什么

麦当劳中国:打造 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:526408
用户头像
李冬梅 加V:busulishang4668

发布了 1010 篇内容, 共 621.5 次阅读, 收获喜欢 1180 次。

关注

评论

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

Arbitrum公链系统开发丨ARB链代币质押挖矿系统开发

l8l259l3365

Pyth

机器学习——决策树模型

小魏写代码

RTE 领域近期词云统计发布;谷歌开始新一轮「瘦身」计划;使用ChatGPT之后智力提高 50%丨RTE开发者日报 Vol.50

声网

创新生产力的新引擎

百度开发者中心

#人工智能 生成式AI 文心一言

运行程序提示路径错误?

矩视智能

深度学习 机器视觉

使用br工具备份到local的一些操作

TiDB 社区干货传送门

迁移 备份 & 恢复 6.x 实践

GLTF文件格式解析与预览、编辑

3D建模设计

GLTF

小度携手可口可乐,AIGC成就未来3000年时空畅想

新消费日报

文心一言 VS 讯飞星火 VS chatgpt (93)-- 算法导论9.2 1题

福大大架构师每日一题

福大大架构师每日一题

基于YOLOv2和传感器的多功能门禁系统

timerring

YOLOv2

基于Web的智慧污水厂2D组态系统

2D3D前端可视化开发

组态软件 智慧水务 智慧污水处理 污水厂组态图 污水厂监控系统

创新力量重塑生产力

百度开发者中心

文学 #人工智能 生成式AI 文心一言

Red Giant Magic Bullet Suite for Mac(红巨人调色降噪插件合集下载) v2024.0.0永久激活版

mac

苹果mac Windows软件 Red Giant Magic Bullet 视频后期处理软件

达梦数据库接入案例—基于EntityFrameworkCore 6.x

为自己带盐

.net core 达梦 EFCore

【华秋干货铺】软硬结合板的阻抗计算,你会吗?

华秋电子

PCB

生成式AI的发展与内容质量及安全性的挑战

百度开发者中心

#人工智能 生成式AI 文心一言 千帆大模型平台

反驳来了!放弃TypeScript?说明你无知!

树上有只程序猿

typescript 代码质量 js

TiDB Serverless Branching:通过数据库分支简化应用开发流程

TiDB 社区干货传送门

在Mac上浏览Android设备文件:MacDroid pro最新中文版

胖墩儿不胖y

Mac软件 传输文件 文件传输工具

揭秘 ChunJun:如何实现 e2e&session 日志隔离

袋鼠云数栈

大数据 开源

文字图像转换的创新技术

百度开发者中心

#人工智能 生成式AI 千帆大模型平台

GLTF-pipeline

3D建模设计

gltf编辑器

云起无垠参编的《软件物料清单(SBOM)发展洞察报告》正式发布

云起无垠

站群服务器租用:为您的多站点网络提供支持

一只扑棱蛾子

站群服务器

为什么越来越多的人选择PostgreSQL,放弃了MySQL

高端章鱼哥

MySQL postgresql

秒合约竞猜游戏app系统开发定制源代码部署

开发微hkkf5566

Axeos 跨域解决指南,让你的接口请求畅通无阻

Liam

前端 后端 前端开发 跨域 axios

处理更多数据,大幅降低成本!Milvus MMap 启示录

Zilliz

Mmap Milvus Zilliz 向量数据库 Milvus2.3

使用Docker构建轻量级Linux容器

互联网工科生

Docker 容器

2023百度教育再出发,探索经营增长新空间

彭飞

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