10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Apple 完成了关键生态系统服务到 Swift 的迁移,性能提升了 40%

作者:Matt Foster

  • 2025-06-14
    北京
  • 本文字数:1148 字

    阅读完需:约 4 分钟

大小:574.53K时长:03:16
Apple完成了关键生态系统服务到Swift的迁移,性能提升了40%

苹果公司已将其全球密码监控服务从 Java 迁移到 Swift,实现了吞吐量增加 40%,并显著减少了内存使用量——释放了近 50%之前分配 Kubernetes 的容量。

 

最近的一篇文章中,苹果工程师详细说明了重写如何帮助服务扩展到每天数十亿次请求,同时提高了响应能力和可维护性。团队提到,较低的内存开销、更好的启动时间和简化的并发性是选择 Swift 而不是进一步优化 JVM 的关键原因。

 

Swift 使我们能够编写更小、更简洁、更具表现力的代码库(代码行数减少了近 85%),这些代码库在优先考虑安全性和效率的同时具有高度的可读性。

 

苹果的密码监控服务是更广泛的密码应用生态系统的一部分,负责安全地检查用户保存的凭据是否出现在已知的数据泄露中,而不会向苹果泄露任何私人信息。它每天处理数十亿次请求,使用隐私保护协议进行密码学比较。

 

这种工作负载需要高计算吞吐量、严格的延迟限制和跨区域的弹性伸缩。一天之内的流量波动很大,区域峰值差异高达 50%。为了适应这些波动,系统必须能够快速启动或关闭实例,同时保持低延迟响应。

 

苹果之前的 Java 实现难以满足服务不断增长的性能和可扩展性需求。垃圾收集在负载下导致不可预测的暂停时间,降低了延迟一致性。从 JVM 初始化、类加载和即时编译的启动开销,减缓了系统实时扩展的能力。此外,服务的内存占用量通常每个实例达到数十 GB,降低了基础设施效率并增加了运营成本。

 

Swift 最初是作为苹果平台的客户端语言开发的,后来扩展到服务器端用例。苹果的工程团队选择 Swift,不仅是因为它的生态系统一致性,还因为它能够在计算密集型环境中提供一致的性能。

 

这次重写还使用了Vapor(这是一个流行的 Swift Web 框架)作为基础。还实现了其他自定义包老处理椭圆曲线操作、密码学审计和特定于密码监控领域的中间件。

 

Swift 的确定性内存管理,基于引用计数而不是垃圾回收(GC),消除了由 GC 暂停引起的延迟峰值。事实证明,这种一致性对于大规模低延迟系统至关重要。在调优之后,苹果报告了亚毫秒级的 99.9 百分位延迟和内存使用量的大幅下降:Swift 实例消耗了数百 MB,而 Java 则消耗了数十 GB。

 

启动时间也得到了改善。没有 JVM 初始化开销或 JIT 预热,Swift 服务可以更快地冷启动,支持苹果的全球自动扩展需求。

 

苹果的迁移反映了一个更广泛的趋势:在极端规模的服务中使用面向性能的语言。从高性能的源代码控制解决方案到区块链的编程语言,Meta与 Rust 有着悠久的历史。Netflix引入了 Rend,这是一个用 Go 编写的高性能代理,来接管与 Memcached 交互的基于 Java 的客户端。AWS 在确定性性能和低资源使用提高基础设施效率的服务中越来越多地依赖Rust

 

虽然这并不是 Java 和类似语言衰落的迹象,但有越来越多的证据表明,在性能需求的最高端,一些人发现通用运行时不再满足其需求。

 

原文链接:

https://www.infoq.com/news/2025/06/apple-swift-migration/

2025-06-14 18:007784

评论 1 条评论

发布
用户头像
"Swift 实例消耗了数百 MB,而 Java 则消耗了数十 GB" - 这么夸张?
2025-06-15 09:40 · 北京
回复
没有更多了

微服务架构必备技术栈:万变不离其宗的奥义!

不在线第一只蜗牛

架构 微服务 云原生

百度网盘AI写真重磅升级!一张照片即可生成高清簪花毕业照

IT新闻资讯

百度网盘

在得物的小程序生态实践

得物技术

小程序 Vue web前端 企业号2024年6月PK榜

外贸电商网络加速方案

Ogcloud

网络加速 企业组网 外贸独立站 海外网络加速

云游戏解决方案:游戏体积大导致玩家流失怎么办?

Ogcloud

云游戏 云游戏发行 云游戏平台 游戏云化

【闲鱼API】深入解析与应用指南——闲鱼商品详情API接口♠

Geek_9dbf95

数据采集 闲鱼 电商API 免费测试

基于可视化设计的低代码开发分析与应用探讨

不在线第一只蜗牛

低代码 可视化开发

什么是数字化?什么是数智化?数字化与数智化的区别

优秀

数字化 数智化

百度智能云推出智能运维工具,云助手让云服务器运维更简单

Baidu AICLOUD

服务器运维

特价最后一周

开源物联卡管理平台-设备管理

物联网 IoT eSIM安全 java 技术提升

数智化浪潮下的零售品牌商品计划革新

第七在线

AR培训指导--跨越时间和空间的思想碰撞

AR玩家

培训学习 Rokid #AR Vision pro 炬目AR

和鲸101计划:课训赛结合,培养高质量医学人才直播活动圆满结束

ModelWhale

数据 医学 应用型人才

一键获取企业“松弛感”

白洞计划

云计算

击败华尔街99%投资者的ChatGPT交易机器人

俞凡

人工智能 交易

Lightroom Classic for mac/win (Lrc2021) 10.3中文直装版

你的猪会飞吗

Mac软件推荐 软件下载

和鲸101计划:赛教结合,赋能暨大经管,培养数据人才

ModelWhale

数据 经管 暨南大学

Apple完成了关键生态系统服务到Swift的迁移,性能提升了40%_后端_InfoQ精选文章