首页 > 科技快讯 > Meta 将移动端消息基础设施从 C 迁移到 Rust

Meta 将移动端消息基础设施从 C 迁移到 Rust

作者 | Matt Foster

译者 | 明知山

Meta 正在用 Rust 逐步重写其移动端消息基础设施,替换掉工程师们口中“越来越难维护、越改越头疼”的老旧 C 代码。在 Meta Tech 播客第 76 期中,Meta 消息基础设施团队详细介绍了他们的迁移动机:内存安全、开发者幸福感和长期可维护性是三大核心驱动力。

这次重写的核心库被编译进 Facebook、Messenger、Instagram、Instagram Lite、VR 头显和可穿戴设备的构建中,这些应用每日覆盖数十亿用户。

开发者们在回忆起老旧的 C 运行时代码时,脑海中浮现出来的关键词是“几百行起步的函数”和“手动记账式内存管理”:变量在文件顶部申请,在一千行之后才释放,哪怕是小规模的重构都会让人胆战心惊。

“意大利面代码只会生出更多意大利面。”

Meta 软件工程师 Elaine 这样吐槽,指出“破窗效应”让烂代码越来越烂。内存管理失误偶尔溜进生产环境,进而升级为难以调试的 on-call 事故。

Rust 的编译期所有权检查能一次性消灭整类错误,但团队把“日常幸福感”摆在与安全同等的高度:更干净的语义、rustfmt 的确定性格式化、rust-analyzer 的实时反馈,都让迭代更轻松、反馈更迅速。性能依然重要,但核心指标已转向开发者速度与信心。

Rust 的学习曲线相对 陡峭,承担重写任务的大多数工程师此前几乎没有使用 Rust 的经验——Elaine 笑称自己最初只认得“那个螃蟹 logo”,后来竟连做梦都在想 move 关键字。为了加快上手,团队采用一对一走读代码、耐心细致的代码审查等方式。

Meta 的开放代码文化也帮了大忙:把问题抛给专门的 Rust 工作组,很快就能得到专家级的解答。这种文化将原本陡峭的学习曲线变成了一场集体冒险,而非单打独斗的难关。

工具链的改进也延伸到了线上运维。如今工程师可以在 C/Rust 混合代码里设置断点,看调试器无缝跳入 Rust 帧,移动端的崩溃日志也能完整符号化——几个月前还无法做到这样。

随着更愉悦的工作流、更快的反馈以及更安全的重构逐步落地,工程师们表示修改代码时更有底气了。工程师 Buping 表示,Rust 的编译期检查让他能够更轻松地定位并修复问题。

Rust 工作组已经吸引了全公司希望将 Rust 应用于移动端的工程师。尽管长期路线图尚未公开,但内部日益高涨的兴趣已经说明了一切。

Meta 团队认为,目前对迁移所节省的时间进行量化还为时尚早,但走在前面的公司已给出了积极的信号。Cloudflare 报告称开发速度更快、代码更易理解;谷歌从 C++ 迁移到 Rust 后也发现,用 Rust 写代码、做 Code Review、构建系统所需精力都更少了。这些案例共同表明:开发者体验——而不仅是裸性能——正在成为选择编程语言和工具链的决定性因素。

发布于:浙江

相关推荐

微软希望将 Windows 完全迁移到云端,十分看好 Windows 365
C 和 C++ 不安全?Android 支持 Rust 开发操作系统
美机构:不停用C语言?AI帮你换
谷歌“宠爱”升级,Rust 大步跨入 Android 平台
在拥抱元宇宙这件事上,为何Meta更着急?
从身份认证云切入,「蒸汽记忆」想帮C端掌控数据使用权
从挖角到联手,Meta服“软”
统信UOS实现桌面端与移动端数据的互联互通
微软转向Rust语言,提升Windows系统安全性
连续被巨头青睐,SpaceX 部分新项目原型系 Rust 构建

网址: Meta 将移动端消息基础设施从 C 迁移到 Rust http://m.xishuta.com/newsview138804.html

所属分类:行业热点