2026年3月初,伊朗无人机袭击了中东地区的三个AWS设施。阿联酋的两个设施遭到直接打击。巴林的一个设施因附近爆炸而受损。火灾、结构性损坏、灭火造成的水损、电力中断。全套灾难一起降临。
AWS告知客户备份数据、考虑将工作负载迁移到其他区域,并将流量从巴林和阿联酋转移出去。这是AWS——地球上最大的云服务提供商——用直白的语言告诉你:我们无法保证这里的正常运行时间。
这是首次确认的针对超大规模云服务提供商的军事打击。但这不会是最后一次。
云有一个地址
流媒体行业花了十年时间假装"云"是某种抽象的、具有无限弹性的层,只要存在就能正常工作。但它不是。云运行在物理服务器上,在物理建筑里,依靠物理电源供应。而那些建筑有可以输入无人机导航系统的坐标。
银行应用、支付服务、配送平台、企业软件:当无人机命中时,这些都在整个海湾地区陷入瘫痪。在me-central-1或me-south-1运行源站服务器或打包管道的流媒体服务也不例外。
如果你的HLS源站位于单个AWS区域,你的流的弹性就和那个数据中心的混凝土墙壁一样脆弱。这不再是一个比喻了。
为什么流媒体特别脆弱
网站宕机30分钟是痛苦的。直播流宕机30秒就是灾难。观众会离开,而且不会在活动剩余时间内回来。广告收入蒸发。合同违约金开始计算。
流媒体有一些通用云弹性建议无法覆盖的独特脆弱性:
清单连续性。 当CDN在流传输过程中故障时,播放器需要从其他地方获取下一个片段,而不中断ABR会话。如果你的清单不是为多CDN传输设计的,故障切换意味着每个观众的播放器都要完全重启。
源站护盾依赖。 大多数架构在打包器和CDN边缘之间使用单个源站护盾。如果该护盾位于一个离线的区域,边缘节点就没有可拉取的内容。缓存最终过期,服务就此中断。
DRM许可证服务器。 Widevine和PlayReady的许可证获取发生在流启动时和密钥轮换间隔。如果你的许可证服务器运行在一个区域,而该区域瘫痪了,新观众无法开始播放。现有观众在下一次密钥轮换时会被切断。
广告插入基础设施。 SSAI决策服务器、广告追踪信标、伴随广告API:这些都有自己的基础设施依赖。流本身技术上可以继续运行,但广告管道崩溃会将你的变现流变成免费内容。
应对之策
好消息:这些问题都可以解决。坏消息:大多数流媒体运营商从未测试过其中任何一项。
1. 了解你的实际依赖链
在修复任何问题之前,你需要看清问题。大多数流媒体工程师对自己的架构有一个粗略的心理模型,但从未实际映射过每个源站、每个CDN、每个DRM端点、每个广告服务器和每个DNS依赖。
将你的流URL通过合适的分析工具运行。查看完整的清单树。检查每个片段实际从哪里提供。识别哪个CDN承担了主要工作。看看你的冗余是真实的还是只是演示文稿上的一个条目。
立即在iReplay.TV Stream Analyser上测试你的流弹性 →
分析工具将显示为你的片段提供服务的CDN、清单背后的源站链、你的片段时长(直接影响故障切换时间),以及你的流是否能经受区域性故障。5分钟的分析可以让你避免在直播活动中才发现单点故障。
2. 实施真正的多CDN,而非走形式的多CDN
拥有两份CDN合同不是多CDN策略。真正的多CDN设置意味着:
- 你的清单包含可以解析到多个CDN端点的片段URL
- 你的播放器或清单操作层可以在会话中切换CDN而不中断播放
- 你已经在真实负载下测试过故障切换,而不仅仅是在白板上
- 当所有流量突然转移到存活的CDN时,你的源站能够处理雷群效应
大多数流媒体运营商在第一次真正的故障中才发现,他们的"多CDN"实际上是两个CDN加上手动DNS切换和30分钟的TTL。那不是弹性。那是希望。
3. 分布你的源站和打包
如果你的直播打包器运行在单个云区域,你就有一个单点故障。就这样。在至少两个地理上分离的区域运行冗余打包。如果你能承受运营复杂性,使用不同的云服务提供商。
对于VOD,确保你的源站存储具有自动故障切换的跨区域复制。S3跨区域复制是显而易见的AWS答案,但在2026年3月之后,更聪明的问题是:你的备份源站是否应该在AWS上?
4. 审计你的DRM和广告基础设施
DRM许可证服务器和SSAI决策引擎是大多数流媒体架构中隐藏的单点故障。它们通常托管在一个区域、一个提供商处,除了"它从未宕机过"之外没有故障切换计划。
直到无人机击中那栋建筑。
检查你的Widevine/PlayReady代理在哪里运行。检查你的SSAI决策服务器在哪里。检查你的广告信标是否能经受区域性故障。流分析工具可以帮助你发现其中一些依赖关系。
5. 为降级模式设计,而非仅为完全正常运行设计
基础设施弹性是关于保持流的活跃。但现实世界的弹性也意味着当流无法保持活跃时要有计划。最好的新闻和体育应用在CDN宕机时不会简单地黑屏。它们会优雅地降级。
短内容的离线播放。 简短的新闻片段、精彩集锦、预录制的新闻简报:这些可以预先下载到设备上,在连接降级或后端基础设施故障时本地提供。HLS在Apple平台上原生支持离线播放,大多数现代播放器在Android上也能处理。如果你的应用提供新闻或短内容,没有理由不将最新的片段批次缓存到设备上。当巴林的数据中心瘫痪时,你的用户仍然有东西可看。关键是在正常运行期间积极刷新离线缓存,以保持内容的时效性。
推送通知作为替代传输渠道。 当你的流媒体基础设施部分宕机时,推送通知成为你的紧急广播系统。设计良好的通知策略可以将用户重定向到正常工作的镜像站、传递基于文本的新闻摘要,或者简单地确认故障并设定预期。推送基础设施(APNs、FCM)运行在Apple和Google自己的系统上,与你的流媒体后端完全独立。如果CDN故障但通知管道仍在工作,你可以保持观众的知情和参与,而不是让他们在沉默中流失到竞争对手那里。
纯音频回退。 4 Mbps的完整视频流在压力下需要大量基础设施来维持。64 kbps的纯音频流传输成本大约便宜60倍,只需一小部分带宽和服务器容量即可运行。特别是对于新闻内容,纯音频是完全可接受的降级模式。许多观众已经在通勤或多任务处理时收听新闻流。在ABR阶梯中构建明确的纯音频渲染意味着即使视频传输受损,你的服务也能继续运行。它还为通过对丢包更具弹性的协议传输,甚至作为最后手段通过普通播客基础设施传输打开了大门。
问题在于:数量惊人的流仍在运行传统的MPEG-2 Transport Stream打包,音频和视频被复用在一起。无法只请求音频。无法优雅地降级。播放器要么下载完整的复用片段,要么什么都不下载。如果你的流仍在没有独立音频渲染的MPEG-2 TS上运行,你就错过了可用的最廉价的弹性手段。迁移到fMP4/CMAF并在主播放列表中包含单独的纯音频变体就是解决方案。iReplay.TV Stream Analyser可以在几秒钟内告诉你的流是否有纯音频渲染,或者你是否仍然停留在仅TS的领域。
这些不是安慰奖。它们是"应用坏了"和"应用还在工作,只是现在以不同方式工作"之间的区别。用户可以原谅暂时的降级。他们不会原谅沉默。
新的现实
伊朗冲突迫使流媒体行业进行了一场它尚未准备好的对话。云基础设施不是无敌的。地理多元化不是可选的。而"这可能不会发生在我们身上"不是弹性策略。
IRGC明确将美国科技公司列为合法军事目标。Google、Microsoft和Oracle都在同一地区运营数据中心。下一次打击可能命中不同的提供商、不同的区域或海底电缆登陆点。进出海湾地区的光纤路由是有限的,而且它们的脆弱性并没有在减少。
如果你的流依赖于中东的基础设施,或者你的全球架构对单个云服务提供商有隐藏的依赖,现在就是查明的时候。不是在下一次打击的时候。