网易首页 > 网易号 > 正文 申请入驻

改个翻译要重新部署?Cloudflare缓存失效的隐藏成本

0
分享至

「翻译不是代码,是数据。」——作者在第一部分写下这句话时,确信自己已经解决了问题。直到他发现:改一个西班牙语的标题,要跑完整套部署流程。

承诺与裂缝


最初的架构足够优雅。翻译存在Cloudflare键值存储(KV)里,边缘缓存,用内容哈希(Content-based Hashing)失效。翻译版本号——整个语言包的SHA哈希——作为构建时常量打进Worker,嵌入每个缓存键。

改字符串→重新算哈希→旧缓存自动失效。干净、确定、内容驱动。

但生产环境暴露了真相:哈希常量活在Worker包里,更新哈希等于重建整个应用。翻译以数据形态存储,却以代码形态失效。

这种耦合很隐蔽。系统能跑,甚至跑得不错,但 quietly contradicts 设计初衷。

三次失败的解耦尝试

作者记录了三个中间方案,每个解决一个问题,又暴露下一个。

尝试一:wrangler deploy --var

Cloudflare CLI支持部署时注入变量,看似能把版本号外置。但底层仍是完整Worker重新部署——只是换了个入口。没有解决"改翻译要重建"的核心矛盾。

尝试二:版本号存KV,每次请求读取

把TRANSLATIONS_VERSION放进KV,请求时实时获取。解耦成功,但代价是每个边缘请求都多一次KV读取。对于高流量场景,这是不可接受的延迟税。

尝试三:KV版本号+短TTL缓存

给KV读取结果加短时缓存(TTL),减少回源。但Cloudflare的边缘节点遍布全球,短TTL意味着大量节点频繁重新验证。规模上去后,缓存命中率波动明显。

三个方案都在"解耦部署"和"请求性能"之间摇摆,无法兼得。

转向:从聪明地设计缓存键,到显式地失效缓存

最终方案换了个思路。不再依赖缓存键的不可预测性来间接失效,而是直接调用Cloudflare的缓存清除接口(Purge API)。

这个API通常用于静态资源管理——刷新CDN上的图片、JS文件。作者把它借来管理国际化内容:翻译更新时,精确清除受影响的缓存条目,而非重建Worker。

关键设计:缓存键回归简单可预测的结构(如`lang:es|page:home`),失效操作由外部系统显式触发。Worker代码不再随翻译变动而变动。

新旧架构的取舍

作者保留了原始实现作为v1分支,承认它仍有适用场景:

• 部署在*.workers.dev子域名的项目(Purge API不可用)
• 不想管理API令牌的小型项目
• 翻译更新极少的个人项目

但对于自定义域名、翻译迭代频繁的场景,Purge API方案是更干净的解耦。

判断

这个案例的价值不在于技术细节,而在于揭示了一类常见的设计陷阱:我们把"不重新部署"当作目标,却忽略了部署的隐性成本正在转移。

哈希嵌入Worker的方案看似免除了缓存管理,实则把成本转嫁给了发布流程——每次翻译更新都是全量重建。而Purge API方案显式承担了缓存管理的复杂度,换取了翻译迭代的独立性。

对于需要快速迭代多语言内容的团队,显式管理缓存失效是更可持续的债务。评估你的翻译更新频率,再决定为哪种复杂度买单。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
清朝灭亡不过一百余年,上千万的满族人,为什么满语迅速消亡了?

清朝灭亡不过一百余年,上千万的满族人,为什么满语迅速消亡了?

铭记历史呀
2026-04-29 00:04:12
马筱梅开播一共说了五个重点,并透露了全家人五一节安排

马筱梅开播一共说了五个重点,并透露了全家人五一节安排

草莓解说体育
2026-04-30 18:52:15
但斌最新持仓来了!新进这几家公司

但斌最新持仓来了!新进这几家公司

格隆汇
2026-04-30 15:42:05
张雪峰的财产争夺战开始了!

张雪峰的财产争夺战开始了!

八卦疯叔
2026-04-29 11:08:54
内蒙古自治区纪委监委公开通报五起违反中央八项规定精神典型问题

内蒙古自治区纪委监委公开通报五起违反中央八项规定精神典型问题

丰川大地
2026-04-30 22:31:38
新一轮四大名著翻拍潮来了,高希希和正午阳光正面竞争《三国》

新一轮四大名著翻拍潮来了,高希希和正午阳光正面竞争《三国》

歪歌社团
2026-04-17 01:45:20
央八40集《奉陪到底》炸裂预告:好兄弟变死对头,比《狂飙》还狂

央八40集《奉陪到底》炸裂预告:好兄弟变死对头,比《狂飙》还狂

情感大头说说
2026-04-30 17:20:13
李亚鹏官宣喜讯

李亚鹏官宣喜讯

老赳说历史
2026-04-28 13:10:44
5月1日新规施行:未经同意,不得擅发商业短信

5月1日新规施行:未经同意,不得擅发商业短信

看看新闻Knews
2026-04-30 22:52:16
心理学有个残忍发现:面对刻意激怒你的人,你的愤怒、隐忍、冷处理,都是在“喂养”对方,唯有这两种做法才能反制对方

心理学有个残忍发现:面对刻意激怒你的人,你的愤怒、隐忍、冷处理,都是在“喂养”对方,唯有这两种做法才能反制对方

心理观察局
2026-04-30 11:04:14
13亿吨巨油现世,中国新增探明巨型油田,美西方受震动

13亿吨巨油现世,中国新增探明巨型油田,美西方受震动

情系雨樱花叶
2026-04-30 05:10:09
陈小春约妹、恋60岁翁、夫妻反目,三瓜劲爆新闻

陈小春约妹、恋60岁翁、夫妻反目,三瓜劲爆新闻

荒野老五
2026-04-30 23:17:01
研究发现:经常吃面食的人比吃米的人、心血管疾病风险更高?

研究发现:经常吃面食的人比吃米的人、心血管疾病风险更高?

岐黄传人孙大夫
2026-04-28 20:10:03
格力电器第一季营收430亿:净利61亿 董明珠持股比例增至2%

格力电器第一季营收430亿:净利61亿 董明珠持股比例增至2%

雷递
2026-04-30 14:28:44
刚刚,全线大涨!日本,突然动手了!

刚刚,全线大涨!日本,突然动手了!

中国基金报
2026-04-30 21:33:19
上海警方通报“女子机场两次拒帮陌生人带行李”:3人购买大量免税品欲带至境外贩卖,反复纠缠10余名旅客要求“分担行李”,已被行拘

上海警方通报“女子机场两次拒帮陌生人带行李”:3人购买大量免税品欲带至境外贩卖,反复纠缠10余名旅客要求“分担行李”,已被行拘

极目新闻
2026-04-23 14:36:35
北京“空中公园”来了:5月1日正式开放|提振消费看京潮

北京“空中公园”来了:5月1日正式开放|提振消费看京潮

北青网-北京青年报
2026-04-30 13:45:53
儿子确诊白血病 烧肉店老板关门退费 得知真相后 很多人拒绝退费 “钱先留着给孩子治病 我们不急”

儿子确诊白血病 烧肉店老板关门退费 得知真相后 很多人拒绝退费 “钱先留着给孩子治病 我们不急”

闪电新闻
2026-04-29 15:57:02
霍尔木兹海峡,大消息!特朗普,新动作!油价跳水,黄金、白银,突变!

霍尔木兹海峡,大消息!特朗普,新动作!油价跳水,黄金、白银,突变!

证券时报e公司
2026-04-30 22:44:03
以色列海军拦截“全球坚韧船队”,扣押约175名活动人士

以色列海军拦截“全球坚韧船队”,扣押约175名活动人士

界面新闻
2026-04-30 16:02:32
2026-05-01 00:04:49
字节漫游指南
字节漫游指南
有态度网友ytd
3077文章数 33关注度
往期回顾 全部

科技要闻

9000亿美元估值,Anthropic即将反超OpenAI

头条要闻

英国国王给特朗普送了口钟 还贴脸开大"有需要尽管敲"

头条要闻

英国国王给特朗普送了口钟 还贴脸开大"有需要尽管敲"

体育要闻

季后赛场均5.4分,他凭啥在骑士打首发?

娱乐要闻

孙杨博士学历有问题?官方含糊其辞

财经要闻

易会满被“双开”!

汽车要闻

专访捷途汪如生:捷途双线作战 全球化全面落地

态度原创

艺术
教育
亲子
手机
游戏

艺术要闻

安东·爱德华·基尔德鲁普:19世纪丹麦风景画家

教育要闻

事关高中教辅,市教委最新要求来了

亲子要闻

4月30日,国际不打小孩日,今天请紧急收住巴掌,放过家里的小孩,也放过崩溃的自己

手机要闻

华为Pura 90 Pro Max体验:AI拍片,比2亿长焦还狠

《星球大战》新作国区售价公开!确认有D加密

无障碍浏览 进入关怀版