阿里云 Serverless 助力盟主直播:高并发下的稳定性和成本优化

ops/2025/1/19 21:12:28/

在直播场景中,阿里云 Serverless 应用引擎 SAE 提供的无缝弹性伸缩与极速部署能力,确保直播间高并发时的流畅体验,降低了我们的运营成本,简化了运维流程。结合阿里云云原生数据库 PolarDB 的 Serverless 能力,实现了数据库资源按需自动扩展,在优化成本的同时极大增强了业务灵活性和响应速度。

——盟主直播研发 VP 张湃

盟主直播介绍

盟主直播是为用户打造传播、支付、结算和数据分析闭环的全新移动互联网平台,专注于企业级直播并搭建运营企业直播营销平台,以互动视频直播的方式帮助广大企业、自媒体和个人创业者放大自身的影响力,积累自己的受众粉丝,并通过一站式的交易提高企业的营销速度和效率。盟主直播深入 100 多个细分行业,既为约 400 家世界 500 强/中国 500 强企业提供服务,也为更多企业客户提供了超过 100 万场次的直播服务,获得了客户广泛的高度评价和赞誉。

业务挑战

盟主直播业务发展快速,原有基于 ECS 自建模式的直播平台架构逐渐暴露出难以适应当前业务快速发展,主要包括:系统稳定性、资源利用效率不高、运维复杂等问题。这些问题不仅影响了用户体验和业务连续性,也增加了运营成本和技术管理难度。

平台稳定性不足

  • 流量波动性和高峰压力: 直播业务特性决定了其流量存在显著的日间波动和活动高峰,特别是在大型直播活动和流量高峰期间,系统需要能够迅速响应突发流量,这要求核心数据库系统和应用系统具备极致的弹性伸缩能力。
  • 临时扩容的局限性: 在面对突发流量或大型直播活动时,传统的临时或提前扩容计算资源的方法不仅耗时,而且难以保证系统的 SLA,因此很难在直播高峰期间提供稳定的服务,增加了用户流失的风险。

容量规划难,资源利用率低

  • 难以预测的流量洪峰: 大型直播项目和线上线下营销活动带来的流量洪峰难以准确预测,导致后端资源的规划变得复杂且具有不确定性。
  • 低效的资源保有策略: 为了确保在流量高峰时有足够的计算资源,盟主直播采取了长期固定持有 ECS 服务器的策略,整体服务器资源全天平均资源利用率低于 20%,大部分时间段计算资源处于闲置状态,造成了成本浪费。

运维复杂度高

  • 配置一致性维护: 直播业务的快速增长使得 ECS 集群规模越来越大,配置差异导致负载不均和性能问题,影响整体服务质量。
  • 资源管理和性能监控: 需要全面监控评估当前资源水位,并根据不断变化的业务负载灵活调整资源分配,避免过度配置和资源争夺,增加了资源管理的复杂性。
  • 灾难恢复的重要性: 随着业务的增长,及时发现并处理系统故障是保持业务连续性的关键,确保系统完整性和可用性,防止数据丢失和服务中断。

阿里云 Serverless 云原生解决方案

面对业务平台遇到的挑战,盟主直播经过深入的市场调研,并与阿里云技术团队进行了多轮技术交流和 POC 测试,最终选择了阿里云的 Serverless 应用引擎 SAE 和云原生数据库 PolarDB,该解决方案不仅解决了直播平台在稳定性、性能方面的挑战,还极大地提升了直播平台架构的健壮性,同时也显著减少了运维资源的投入,能够更加专注到业务创新和发展。

计算资源 Serverless 化

高效运维特性:

  • 免运维托管:SAE(即:Serverless 应用引擎)为盟主直播提供了一站式的容器化应用全托管解决方案,用户无需关注底层硬件配置与维护,只需专注于应用逻辑的开发。SAE 自动处理计算资源的分配和优化,大大减轻了运维负担。
  • 发布管理:支持应用程序解耦发布和前后端灰度发布,简化应用更新流程,避免逐个应用修改带来的配置不一致问题。
  • 资源配置灵活性:资源配置可以随时修改并即时生效,统一的 CU 计费抵扣逻辑降低了机器规格更换的复杂性和资损风险。

弹性伸缩和成本优化:

  • 动态扩缩容:SAE 根据实时请求数量动态调整实例数量,确保在直播流量高峰时提供充足的计算资源,而在低谷期缩减资源以实现成本最优化。
  • 定时弹性与指标弹性结合:通过设定基于时间或流量指标的弹性伸缩规则,既能处理周期性流量变化,也能根据实际流量进一步优化资源配置,即使无人值守也能高效支持业务需求。

智能告警和高可用:

  • 监控与报警:集成微服务引擎(MSE)、日志服务(SLS)和 SAE 自身的监控能力,提供全面的基础监控功能,包括 Metrics、Tracing 和 Logging,能够支持对日志的集中采集和监控,内置智能告警机制捕捉异常事务和慢事务,实时日志分析提高了问题定位效率。
  • 高可用部署:通过简单设置即可实现多 AZ(Availability Zone)容灾部署,支持副本自动重启和恢复,在系统发生故障时自动切换至健康节点,增强了系统的容错能力和恢复速度。

业务 Serverless 架构图

数据库 Serverless 化

秒级扩缩容:

阿里云 PolarDB 数据库服务采用存算分离的技术架构,对解决盟主直播平台业务晚高峰流量突增的痛点有了更好的解决方案,即:通过 PolarDB Serverless 秒级扩容 CPU 能力,实现高效、轻松的应对,而且不需要提前预留计算资源,总体上实现了增效降本。

PolarDB Serverless

自动化运维:

数据库计算资源调整从每天晚上流量高峰来临前人工扩容、增加只读节点等转变为 Serverless 全自动模式,降低了 70% 的运维工作量,集群变配时长从 8 分钟缩短至 4 秒。

业务价值

通过阿里云的 Serverless 产品和技术,盟主直播实现了核心直播平台的云原生架构升级,不仅解决了盟主直播现有业务面临的挑战,还面向未来为盟主直播的平台扩展性提供了技术基础,有效提升了行业竞争力,具体包括:

  • 提升业务稳定性和流畅度: 通过 SAE 和 PolarDB 提供的 Serverless 技术确保了在面对流量高峰时,依然能够保持直播平台的高性能和稳定性,实现了用户体验的大幅提升。
  • 显著降低成本: SAE 和 PolarDB 的按需扩缩容特性,帮助盟主直播将整体资源利用率提升了近 50%,成本节约超过 60%。
  • 提高工作效率: SAE 的全托管、免运维特性简化了资源预估和应用部署的流程和投入,运维团队的工作压力大幅减轻,整体工作效率提升了 40%。
  • 增强业务连续性: PolarDB 支持主备切换过程中在途事务不中断,确保直播业务的连续性,即使在极端情况下也能为用户提供不间断的服务体验。

http://www.ppmy.cn/ops/151479.html

相关文章

API接口到底是什么

目录 一、API概述 二、API接口的定义与基本概念 (一)什么是API接口 (二)API接口的组成要素 (三)API接口的类型 Web API 库API 远程API 三、API接口的工作原理 (一)请求与响…

StarRocks 怎么让特定的SQL路由到FE master节点的

背景 本文基于 StarRocks 3.1.7 大家都知道对于Starrocks来说 FE 是分 master和follower的,而只有master节点才能对元数据进行写操作。但是为什么呢?哪里有体现呢? 这其中的原因在网上是搜不到的,所以大家只知道只有master节点才…

【神经网络基础】

目录 一、神经网络的构成 1.1什么是神经网络? 1.2 激活函数 1.2.1 Sigmoid 1.2.2 Tanh 1.2.3 ReLU 1.2.4 softmax 1.2.5 其他激活函数 1.2.6 选择激活函数 1.3 参数初始化 1.4 模型构建 二、损失函数 2.1 分类问题 2.1.1多分类(多分类交叉…

将收藏夹变为静态网页,本地用可以当浏览器首页

看到评论区,兴起做了个项目,Github链接 Local Bookmarks 把书签转换为静态网页 一个简洁优雅的本地书签管理工具,把书签转换为浏览器主页。 使用方法 安装浏览器扩展: Edge浏览器: Pintree Bookmarks Exporter Chrome浏览器: Pintree B…

R语言绘图

多组火山图 数据准备&#xff1a; 将CSV文件同一在一个路径下&#xff0c;用代码合并 确保文件列名正确 library(fs) library(dplyr) library(tidyr) library(stringr) library(ggplot2) library(ggfun) library(ggrepel)# 获取文件列表 file_paths <- dir_ls(path &quo…

SpringMVC 实战指南:文件上传

第一章&#xff1a;常用的注解&#xff1a; RequestParam 注解&#xff1a; 作用&#xff1a;把请求中的指定名称的参数传递给控制器中的形参赋值属性&#xff1a; value&#xff1a;请求参数中的名称required&#xff1a;请求参数中是否必须提供此参数&#xff0c;默认值是 tr…

智能家居企业如何通过设计师渠道打造第二曲线?

随着智能家居行业的迅速发展和消费者需求的不断升级&#xff0c;企业的营销策略也在不断变化。传统的B2C营销模式逐渐让位于更加精细化、定制化的B2B2C模式&#xff0c;其中设计师渠道的开发与合作&#xff0c;成为智能家居企业布局市场、提升品牌影响力的关键。 智能家居推广的…

Redis的安装和配置、基本命令

一、实验目的 本实验旨在帮助学生熟悉Redis的安装、配置和基本使用&#xff0c;包括启动Redis服务、使用命令行客户端进行操作、配置Redis、进行多数据库操作以及掌握键值相关和服务器相关的命令。 二、实验环境准备 1. JAVA环境准备&#xff1a;确保Java Development Kit …