IT疯子技术论坛

 找回密码
 立即注册
查看: 92|回复: 0

[日常] cloudflare使用rust语言改写原有的FL代码库,网络响应速度提升25%

[复制链接]

36

主题

24

回帖

328

积分

中级会员

Rank: 3Rank: 3

积分
328
发表于 2025-9-28 09:22:04 | 显示全部楼层 |阅读模式
本帖最后由 IT疯子 于 2025-9-28 09:24 编辑

FL 建于 15 年以前,一直是 Cloudflare 网络的核心。它使我们能够提供广泛的功能,但随着时间的推移,这种灵活性成为一个挑战。随着我们添加更多产品,FL 变得越来越难以维护,处理请求的速度越来越慢,并且更难扩展。每个新功能都需要对现有逻辑进行仔细检查,并且每次添加都会引入更多的延迟,这使得维持我们想要的性能变得越来越困难。
一旦浏览器发出的请求到达 FL,将会在cloudflare网络中运行各种安全和性能功能。它应用每个客户的独特配置和设置,从强制执行 WAF 规则和 DDoS 保护到将流量路由到开发人员平台和 R2。


---

FL 是使用 NGINX、OpenResty 框架和 LuaJIT  实现的。虽然这在很长一段时间内都很棒,但在过去的几年里,它开始显现出它的年龄。我们不得不花费越来越多的时间来修复或解决 LuaJIT 中晦涩难懂的错误。我们的 Lua 代码具有高度动态和非结构化的特性,这在最初尝试快速实现逻辑时是一件幸事,但在尝试集成大量复杂产品逻辑时却成为错误和延迟的根源。每次推出新产品时,我们都必须遍历所有其他现有产品,以检查它们是否可能受到新逻辑的影响。

很明显,我们需要重新思考。因此,在 2024 年 7 月,我们削减了对全新且完全不同的实施的初步承诺。为了节省商定新名称的时间,我们只是将其称为“FL2”,当然,并开始将原始 FL 称为“FL1”。
当我们着手构建 FL2 时,我们知道我们不仅仅是在更换旧系统;我们正在重建 Cloudflare 的基础。我们在 Oxy (cloudflare内部的网络代理框架)上用 Rust 构建了 FL2,并构建了一个严格的模块框架来构建 FL2 中的所有逻辑。我们测量了 FL2 在网络上推出时的影响。结果很明显:网站的响应速度在中位数上快了 10 毫秒,性能提高了 25%。
我们将在 2025 年剩余时间内完成从 FL1 到 FL2 的迁移,并将在 2026 年初关闭 FL1。我们已经看到了客户绩效和开发速度方面的好处,我们期待着将这些优势提供给所有客户。

来源:Cloudflare
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|IT疯子技术论坛

GMT+8, 2025-11-22 07:29 , Processed in 0.007971 second(s), 5 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表