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

在直播场景中,阿里云 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 支持主备切换过程中在途事务不中断,确保直播业务的连续性,即使在极端情况下也能为用户提供不间断的服务体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/956970.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习实战入门】基于深度学习的乳腺癌分类

什么是深度学习? 作为对机器学习的一种深入方法,深度学习受到了人类大脑和其生物神经网络的启发。它包括深层神经网络、递归神经网络、卷积神经网络和深度信念网络等架构,这些架构由多层组成,数据必须通过这些层才能最终产生输出。…

Qt之QDjango-db的简单使用

QDjango是一款由C编写、依托于Qt库的Web开发框架,其设计理念受到了广受欢迎的Python框架Django的影响。这个项目旨在提供一个高效、灵活且易于使用的工具集,帮助开发者构建高质量的Web应用。其项目地址: https://gitcode.com/gh_mirrors/qd/qdjango&…

[2025分类时序异常检测指标R-AUC与VUS]

梳理了一下分类中常见的指标,这些指标与时序异常检测中新提出的A-RUC与VUS之间的关系 真正例(True Positive,TP): 被正确识别为正样本的数量。真负例(True Negative,TN): 被正确识别为负样本的数量。假正例(False Positive ,FP): 被错误识为正样本数量假负例(Fals…

python3GUI--仿崩坏三二次元登录页面(附下载地址) By:PyQt5

文章目录 一.前言二.预览三.实现方案1.实现原理1.PyQt52. 具体实现 2.UI设计1.UI组件化、模块化2.UI设计风格思路 3.项目代码结构4.使用方法3.代码分享1.支持跳转网页的QLabel组件2.三角形ICON按钮 四.总结 大小:33.3 …

STM32 FreeRTOS中断管理

目录 FreeRTOS的中断管理 1、STM32中断优先级管理 2、FreeRTOS任务优先级管理 3、寄存器和内存映射寄存器 4、BASEPRI寄存器 5、FreeRTOS与STM32中断管理结合使用 vPortRaiseBASEPRI vPortSetBASEPRI 6、FromISR后缀 7、在中断服务函数中调用FreeRTOS的API函数需注意 F…

如何在idea中搭建SpringBoot项目

如何在idea中快速搭建SpringBoot项目 目录 如何在idea中快速搭建SpringBoot项目前言一、环境准备:搭建前的精心布局 1.下载jdk (1)安装JDK:(2)运行安装程序:(3)设置安装…

Linux:expect spawn简介与用法

一、背景 大家在使用linux系统的很多时候,都用linux指令来实现一些操作,执行特定的job,有时一些场景中需要执行交互指令来完成任务,比如ssh登录这个命令大家一定很熟悉: ssh-keygen -t rsa # 以及 ssh-copy-id -i /hom…

服务器硬盘RAID速度分析

​ 在现代数据中心和企业环境中,服务器的存储性能至关重要,RAID(独立磁盘冗余阵列)技术通过将多块硬盘组合成一个逻辑单元,提供了数据冗余和性能优化,本文将详细探讨不同RAID级别对服务器硬盘速度的影响&am…

Android开发与网络请求

目标:快速开发一个安卓页面(用户登录&跳转) 抓包就是在后端逻辑与API之间截取信息。 1.安卓UI和后台逻辑 1.1 安卓UI 将activity_main.xml文件中的代码替换后,将会得到上面的UI界面 <?xml version="1.0" encoding="utf-8"?> <Linear…

【Linux】利用‘shell脚本’快速查看linux服务器的基本信息

一、脚本目的 为了方便&#xff0c;当拿到一台linux服务器的时候&#xff0c;我们应首先了解服务器的硬件、操作系统信息。俗话说“工欲善其事必先利其器” 只有熟悉了自己的武器&#xff0c;才能更好的发挥武器的威力。所以写了一个shell脚本&#xff0c;方便快速获取服务器C…

Solana 套利机器人原理

引言 加密货币的交易世界中&#xff0c;套利是利用市场价格差异进行无风险获利的一种策略。随着 DeFi&#xff08;去中心化金融&#xff09;的快速发展&#xff0c;套利机会屡见不鲜&#xff0c;尤其是在高速、高效能的区块链上&#xff0c;如 Solana。这些区块链通过提供低交易…

麦田物语学习笔记:制作[SceneName]Attribute特性

基本流程 因为在现有的项目中,像开始场景的切换或者Telepot组件都需要手动输入场景名,有时还可能键入出错,而该特性能用选择的方式去解决这一问题 1.代码实现 SceneNameDrawer.cs //参数绘制 using UnityEditor; using UnityEngine; #if UNITY_EDITOR [CustomPropertyDrawer(…

OCP使用中的常见问题与解决方法

OCP的常见问题 页面卡顿&#xff1a; 遇到页面卡顿的问题时&#xff0c;首先需要区分是全局性的卡顿&#xff0c;即所有页面都出现延迟或响应缓慢&#xff0c;还是仅限于特定的监控页面。 监控数据看不到: 需要明确是全部数据都无法查看&#xff0c;还是仅限于特定集群的数…

大模型LLM-微调 RAG

RAG小结 这篇文章是一篇关于大型语言模型&#xff08;LLMs&#xff09;增强技术的综述论文&#xff0c;特别聚焦于检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;这一领域。详细考察了RAG的发展、技术基础、关键技术、评估框架以及未来的研究方向。…

51c~缺陷检测~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/12386431 一、缺陷检测~使用深度学习1 这里研究工业ai, 在制造业中任何公司的主要目标都是为客户生产无缺陷产品。如果在产品开发过程中出现任何内部孔、凹坑、磨损或划痕&#xff08;由于多种原因&#xff0c;从生产设备…

25春秋杯wp

春秋杯 图片不显示的去我blog找&#x1f447; 25春秋杯 | DDLS BLOG 文章所有内容部分来自自己写的&#xff0c;部分来自各路非公开wp&#xff0c;部分来自公开wp(附上链接&#xff0c;在文章末尾) easy_flask {{().__class__.__mro__.__getitem__(1).__subclasses__()[13…

C# 事件(Event)详解

C# 事件详解 事件&#xff08;Event&#xff09;是 C# 中的一种特殊类型的委托&#xff0c;它是基于委托的基础上构建的&#xff0c;用来实现事件驱动编程。在 C# 中&#xff0c;事件常用于处理用户输入、系统通知、数据更新等场景&#xff0c;允许一个对象通知其他对象某些行…

三维扫描赋能文化:蔡司3D扫描仪让木质文化遗产焕发新生-沪敖3D

挪威文化历史博物馆在其修复工作中融入现代3D扫描技术&#xff0c;让数百年的历史焕发新生。 文化历史博物馆的工作 文化历史博物馆是奥斯陆大学的一个院系。凭借其在文化历史管理、研究和传播方面的丰富专业知识&#xff0c;该博物馆被誉为挪威博物馆研究领域的领先机构。馆…

Ubuntu 24.04 LTS 系统语言英文改中文

Ubuntu 24.04 LTS 修改软件源 Ubuntu 更改软件源 修改语言 无需输入命令&#xff0c;为Ubuntu 24.04系统添加中文智能拼音输入法 在 setting 的 system 中按下图操作 点击“Apply Changes”。需要管理员密码&#xff0c;安装完成后&#xff0c;退出登录&#xff0c;重新登…

Qt按钮美化教程

前言 Qt按钮美化主要有三种方式&#xff1a;QSS、属性和自绘 QSS 字体大小 font-size: 18px;文字颜色 color: white;背景颜色 background-color: rgb(10,88,163); 按钮边框 border: 2px solid rgb(114,188,51);文字对齐 text-align: left;左侧内边距 padding-left: 10…