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

FCM通知变数据卡车:一个五年系统的崩溃实录

0
分享至

五年零故障,一天全崩掉。

这不是什么惊天大漏洞,没有黑客入侵,没有服务器宕机。只是一个普通的周三,推送通知开始"丢三落四"——名字没了,数据空了,UI上只剩下一堆null。然后崩溃报告如雪片般飞来。


故事的主角是Firebase Cloud Messaging(FCM),谷歌的推送服务。开发者Subhankar Bag花了五年时间搭建的系统,一直把它当"数据卡车"用。通知不只是响一声,而是扛着完整的访客信息、审批数据、实时状态,直接送到App里解析展示。

这套设计曾经很优雅:后端打包,FCM运输,App开箱即用。没有额外的API调用,没有延迟,用户点开通知就能看到完整信息。五年间,这套系统默默处理了无数访客审批、安全警报、实时通知,零投诉,零事故。

直到某天,数据结构变了。

原本扁平的键值对,突然变成了嵌套JSON字符串:"update_unit": "{ \"id\":2230, \"visitor\": { ... } }"。App用Gson解析时期待的是一个对象,拿到的是一串字符串。报错信息很直白:Expected BEGIN_OBJECT but was STRING

但这不是根因。真正的杀手藏在FCM的硬限制里:4KB。

4KB是什么概念?大约4096个英文字符,或者更少的Unicode字符。当后端把JSON对象序列化成字符串塞进payload时,体积膨胀了30%到40%。原本紧巴巴的4KB预算,现在更吃紧了。

更麻烦的是,FCM不会跟你商量。超限时它不报错、不警告,直接丢弃消息。开发者可能在后台看到发送成功,但用户的手机永远收不到。

这个系统的崩溃路径堪称经典:首先,业务数据自然增长,访客信息越来越丰富;然后,某人决定把JSON嵌套进字符串,可能是为了兼容某个旧接口;接着,payload在4KB边缘反复试探;最后,某个大客户的访客记录成为压垮骆驼的最后一根稻草——消息消失,App解析失败,UI显示null,用户困惑,崩溃报告堆积。

整个过程没有一声警报。就像一个人慢慢缺氧,直到晕倒才被人发现。

问题的本质在于设计认知的错位。FCM的官方定位是"信令机制"(signaling mechanism)——轻量、快速、可靠地告诉用户"有件事发生了"。而这套系统把它当成了"数据交付机制"(data delivery mechanism),试图用推送通道替代API调用。

这种错位在初期完全可行。4KB对简单通知绰绰有余,JSON字符串的膨胀也不明显。但随着业务复杂化,技术债以指数级速度累积。字符串嵌套JSON的设计决策,把线性增长的数据变成了超线性增长的payload。

修复方案不是修剪几个字段就能解决的。团队需要彻底转变思路:FCM只发信号,数据走专用通道。

新模式下,推送变得极简:{ "type": "ALERT_OBJECT", "ref_id": "2230" }。App收到后,再用ref_id去调API取完整数据。多了一次网络请求,但换来了可靠性——API可以分页、可以重试、可以缓存,而FCM只有4KB和沉默的丢弃。

这个案例的教训很朴素,但容易被忽视。

第一,任何"硬限制"都值得被监控。4KB不是建议值,是物理边界。系统应该在接近阈值时报警,而不是等到消息消失。

第二,序列化格式有成本。JSON字符串比JSON对象多一层转义字符,在边缘场景下可能是致命的。性能优化不能只测平均值,要测最坏情况。

第三,外部服务的语义很重要。FCM的文档明确说它是"signaling",但开发者常因便利而误用。当服务被用于设计之外的场景时,需要额外的防御层。

第四,沉默的失败是最危险的失败。FCM丢弃消息时不通知发送方,这种"成功幻觉"让问题难以定位。关键路径上,任何外部调用都应该有对账机制——发送了100条,确认收到了多少条?

五年稳定运行反而成了陷阱。它让团队相信这套设计是可靠的,忽视了渐进式的风险积累。技术债不会突然爆发,它像慢性病一样,在某个平凡的下午让你倒下。

对于正在用FCM扛数据的后端和移动开发者,这个故事的价值在于提前审视:你的payload现在多大?增长曲线是什么?有没有字符串套JSON的"小聪明"?4KB的预算还剩多少余量?

别等到null填满屏幕,才想起检查数据边界。

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

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.

相关推荐
热点推荐
我有罪,大导演昆汀花1万美金,在包房舔脚半小时,直到皮肤起皱

我有罪,大导演昆汀花1万美金,在包房舔脚半小时,直到皮肤起皱

西楼知趣杂谈
2026-04-20 08:40:47
泰国顶级豪门丑闻!弟弟被亲哥哥多次强奸,全家知情却集体沉默

泰国顶级豪门丑闻!弟弟被亲哥哥多次强奸,全家知情却集体沉默

谭谈社会
2026-05-09 20:33:02
退休赴冰岛带孙 儿媳张口要一万伙食费 我当晚全款买下对门大平层

退休赴冰岛带孙 儿媳张口要一万伙食费 我当晚全款买下对门大平层

艺鉴在线
2026-05-10 02:57:58
清朝“大辫子”到底多脏?满头油光,虱子满头,十步之内不能站人

清朝“大辫子”到底多脏?满头油光,虱子满头,十步之内不能站人

云霄纪史观
2026-05-07 20:06:19
参谋提醒邓华:你是志愿军司令兼政委,邓华怒:咋了,这官很大吗

参谋提醒邓华:你是志愿军司令兼政委,邓华怒:咋了,这官很大吗

小莜读史
2026-05-10 02:57:08
“骨盆前倾成这样,还不去医院?”家长晒一年级女儿体态,被群嘲

“骨盆前倾成这样,还不去医院?”家长晒一年级女儿体态,被群嘲

妍妍教育日记
2026-04-24 11:15:25
跌出世界前50!郑钦文无缘法网种子席位,法网后或继续大幅下滑

跌出世界前50!郑钦文无缘法网种子席位,法网后或继续大幅下滑

全景体育V
2026-05-10 05:30:44
地位变了?体育总局官宣,陈若琳传来喜讯,这下全红婵更有底气

地位变了?体育总局官宣,陈若琳传来喜讯,这下全红婵更有底气

一窥究竟
2026-05-10 08:32:52
华为赢麻了!顶流网红甲亢哥“三折叠”掉海里了!炸出最绝广告!网友:再来一趟出新款了...

华为赢麻了!顶流网红甲亢哥“三折叠”掉海里了!炸出最绝广告!网友:再来一趟出新款了...

LOGO研究所
2026-05-08 17:44:07
欠了快400亿,骂了整十年,华西村硬是靠一笔意外投资活过来了

欠了快400亿,骂了整十年,华西村硬是靠一笔意外投资活过来了

小莜读史
2026-05-07 19:10:59
寒心!越南三名未成年女孩,为了生存被迫沦落风尘!

寒心!越南三名未成年女孩,为了生存被迫沦落风尘!

缅甸中文网
2026-03-23 14:28:02
8家新能源车企远程“锁电”被约谈,3家被立案;有车主称续航一夜蒸发200公里

8家新能源车企远程“锁电”被约谈,3家被立案;有车主称续航一夜蒸发200公里

鲁中晨报
2026-05-08 11:46:14
讣告突至!陈翔六点半吴妈患癌离世,最后作品与露面照曝光

讣告突至!陈翔六点半吴妈患癌离世,最后作品与露面照曝光

娱贝勒
2026-05-09 19:49:02
沉默45年,中国第二轮"严打"终于来了!目标改变总体战正式打响

沉默45年,中国第二轮"严打"终于来了!目标改变总体战正式打响

荐史
2026-05-03 13:48:04
CBA季后赛首个四强诞生!广东三分绝杀北京,产生了三大不可思议

CBA季后赛首个四强诞生!广东三分绝杀北京,产生了三大不可思议

侃球熊弟
2026-05-09 21:51:14
菲方滋扰中国科考船画面公开

菲方滋扰中国科考船画面公开

环球网资讯
2026-05-09 21:31:47
知名歌手自曝:癌细胞扩散了!警惕身体的这些“预警”信号

知名歌手自曝:癌细胞扩散了!警惕身体的这些“预警”信号

华医网
2026-05-10 05:41:48
王楚钦拿两分打哭对手,梁靖崑成关键先生!国乒的血性被央视盛赞

王楚钦拿两分打哭对手,梁靖崑成关键先生!国乒的血性被央视盛赞

中国足球的那些事儿
2026-05-10 07:01:58
1966年毛主席在滴水洞留下诗作,凡读懂其中玄机之人皆惊恐万分

1966年毛主席在滴水洞留下诗作,凡读懂其中玄机之人皆惊恐万分

人生录
2026-05-07 16:15:09
晚唐的实际掌权人-晚唐十大节度使

晚唐的实际掌权人-晚唐十大节度使

舆图司马
2026-05-09 21:00:03
2026-05-10 09:31:00
赛博兰博
赛博兰博
专注捣鼓AI效率工具,试图在这个时代留下数字分身的探索者。
2401文章数 26关注度
往期回顾 全部

科技要闻

美国政府强力下场 苹果英特尔达成代工协议

头条要闻

美军对伊朗多个目标发动打击 伊朗革命卫队深夜警告

头条要闻

美军对伊朗多个目标发动打击 伊朗革命卫队深夜警告

体育要闻

成立128年后,这支升班马首夺顶级联赛冠军

娱乐要闻

50岁赵薇脸颊凹陷沧桑得认不出!

财经要闻

多地号召,公职人员带头缴纳物业费

汽车要闻

轴距加长/智驾拉满 阿维塔07L定位大五座SUV

态度原创

健康
手机
数码
游戏
公开课

干细胞能让人“返老还童”吗

手机要闻

iQOO 15T首发天玑9500特别版:实测帧率无敌 稳如泰山

数码要闻

TCL华星t8项目提前封顶 印刷OLED规模化量产提速

Windows 11 PC上的Xbox模式不支持多显示器

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版