Agentic AI、具身智能、强化学习框架、端侧大模型……来QCon上海站,感受AI的未来! 了解详情
写点什么

电商直播平台如何借助容器与中间件实现研发效率提升 100%?

  • 2021-03-06
  • 本文字数:2902 字

    阅读完需:约 10 分钟

电商直播平台如何借助容器与中间件实现研发效率提升100%?

前言

直播带货是近期发展非常迅猛的一种新的电商模式。构建一个电商直播平台从技术角度上大致可以分为视频直播服务、CDN、前端(H5/ 小程序)、大数据、以及各种业务后台,如直播互动、商家和运营平台等。相比于传统的电商系统,电商直播平台有一些类似的地方,如系统需要具备高并发的能力来应对流量洪峰;但同时直播业务也有一些独有的特性:

 

  • 直播业务的潮汐特性,需要更强的弹性能力及成本优化方案。

  • 微服务化后,要求更高的开发效率,以及更精细化的流量控制。

  • 直播互动有着非常高的实时性,系统需要具备前后端监控一体化的能力。

  • 直播业务涉及到后期音视频的处理需要合理分配计算资源。

 

可以看到上述特性都是一些非业务性的需求,为了达成这一目的,企业需要在 IDC 额外投入大量的人力进行基础设施的建设和维护。目前,越来越多的企业已经迁移到云平台或者正在向云平台迁移的过程中,如果能将这些非业务功能下沉,利用云平台提供的产品 &技术来承接这些能力的话,企业就完全可以专注于业务本身,实现快速迭代、独立高效、减轻成本。


云原生架构正是为此而生。

什么是云原生架构?

云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。

 

为实现云原生架构,必然需要依托于各种云原生理念、实践及技术,即云平台所提供的容器、微服务、DevOps、Service Mesh、Serverless 和中间件等服务。从 CNCF 的定义来看,采用基于云原生的技术和管理方法,将更好地把业务生于“云”或迁移到云平台,从而享受“云”的高效和持续服务能力。

电商直播需要哪些云原生解决方案?

电商直播平台系统为了满足业务的快速发展,需要具备一些额外能力(当然这里可能只是一部分),我们暂时以这些为例,将需求进一步总结抽象,大致可以归纳为以下几点:

 

  • 极致弹性和成本;

  • 微服务治理及流量控制;

  • 立体化监控;

  • 音视频处理自动化,计算资源按需使用。


为解决以上痛点,接下来围绕电商直播平台,详细介绍在一些典型的业务场景下,阿里云提供的一整套云原生解决方案。

容器服务 ACK 解决对成本和极致弹性的诉求

传统架构在应对“电商直播”这种新式互联网化业务时,常常面临发布迭代效率低、高峰期扩容慢、运维复杂度高三大痛点。同时直播业务有典型的瞬间流量冲击问题,无法有效预估峰值,并且高峰期间对延迟敏感,通过扩容 K8s Node 节点方案无法满足业务需求。

 

直播业务可以借助阿里云容器服务 ACK + VK (Serverless ECI 基础设施)架构,解决直播业务对成本和极致弹性诉求,具体体现在:


  • 研发效率提升 100%;

  • 运维资源基本解放;

  • 弹性 Serverless ECI,资源成本降低 60%~70%。

 

同时通过纳管注册形态,可以实现将其他云平台和 IDC 自建 K8s 集群进行统一管理,帮助客户抹平了多云架构中日志采集、监控等运维管理的差异性,大幅提升了整体运维效率。

 

微服务引擎 MSE 提供全面的微服务治理方案

在直播过程中,商家和观众进行互动下单,直播前端和后台业务系统进行频繁的交互。直播的后台业务系统采用微服务+容器的架构,业务系统根据不同的模块(如店铺、商品、订单)已经进行了微服务拆分。同时为了满足业务需要,业务系统需要具备流量控制的能力,即对某些微服务进行了多版本的部署,并将特定的用户请求引流到某个特定版本进行处理。

 

众所周知,系统采用微服务化部署后,调用链路变得复杂。此外在容器环境下,POD IP 的不固定性等因素都为实现流量控制带来一定的难度。我们可以采用阿里云微服务引擎(MSE)提供的微服务治理方案。

 

微服务引擎 MSE 为微服务应用提供全面的微服务治理方案,包括服务鉴权、无损下线、离群实例摘除、服务降级、金丝雀发布、标签路由等功能。其中标签路由功能可以简单完美地实现在 K8s 环境下流量控制的能力。微服务发布过程中,只需编辑 YAML 文件添加自定义标签,同时在 MSE 控制台将请求参数(如 http header 等)和此前创建的标签进行绑定即可。



通过此方案,不仅可以在生产环境中无侵入性地解决了流量控制的问题,在开发测试环境中,也可将标签路由功能应用在分支测试等场景。

ARMS 提供完整立体化全链路监控方案

电商直播系统包括 H5 页面和小程序前端层、微服务应用层、中间件层(MQ、Redis 等)、数据库层以及基础资源层等,系统中任何一个环节出问题都可能导致一条业务请求出现异常。结合业务需求,运维效率、资源成本等因素,部署在云上的应用可以通过阿里云应用实时监控服务(ARMS) 为直播业务提供一套完整的立体化的全链路监控方案。

 

ARMS 领域全景图

 

在直播场景下,ARMS 提供的功能解决了诸如以下几个实际问题:

 

1、在直播过程中,如果用户在前端进行下单等操作发生错误,利用 ARMS 提供的前后端链追踪功能,可将前端与后端串联起来,实现一站式的问题排查。

2、系统中出现慢调用后,需要对整个链路中的瓶颈进行定位,而这个瓶颈可能出现在网络延时、微服务应用内部,或者应用所依赖的缓存和数据库等组件,开发运维人员可以借助 ARMS 提供的白屏化链路监控、问题诊断等能力来快速定位。

3、在 ARMS 控制台为核心业务及资源配置了完善的监控报警能力,通过短信、钉钉、Webhook 等方式推送给工程师进行第一时间排查,及时发现问题减少业务损失。

阿里云函数计算解决自动化及效率等问题

在直播平台发起的直播结束后,通常会有一些回放视频需要进行一些处理,比如对视频进行转码,或其他处理后再进行二次分发。通常为了实现这一个功能,我们需要自建转码服务器,但由于直播业务天然的潮汐属性,大部分时间这些转码服务器处于闲置阶段,无法实现计算资源的最大利用和成本最优化。

 

阿里云函数计算 FC 事件触发机制完美第解决了自动化及资源利用率等问题。开发人员可以将转码逻辑部署到函数计算,配置 OSS 事件触发器,当有新的直播回放视频上传到 OSS 后,可自动触发函数计算进行转码及分发。

 

 

此方案具备的优势是:

  • 快速上线:用户基于 FFmpeg 自建的转码服务,里面很多命令参数都是线上实践很好的参数,函数计算支持用户命令无缝迁移, FFmpeg 的版本也可以自定义。

  • 弹性高可用:计算力不再是瓶颈,迅速调动大量计算资源进行加速、并行转码。

  • 降低成本:视频转码是 CPU 密集型,基于函数计算按需付费,能大大降低转码成本。

总结

结合上面所讨论的内容,我们再来看下采用阿里云云原生解决方案后,一个完整的电商直播平台的部署架构如下:

 

经过实际场景验证及用户的综合评估,电商直播平台借助全面的云原生容器化能力和中间件产品能力,大幅提升开发部署运维效率达 50%~100%,极大地提升了用户体验,为业务持续发展打下了坚实的基础。

 

更多云原生产品细节请关注:

容器服务 ACK

https://help.aliyun.com/product/85222.html

微服务引擎 MSE

https://help.aliyun.com/product/123350.html

应用实时监控服务 ARMS

https://help.aliyun.com/product/34364.html

Serverless 函数计算

https://help.aliyun.com/product/50980.html


本文转载自:阿里巴巴中间件(ID:Aliware_2018)

原文链接:电商直播平台如何借助容器与中间件实现研发效率提升100%?

2021-03-06 07:002054

评论

发布
暂无评论
发现更多内容

【YashanDB知识库】YashanDB 单机一主一备自动切换

YashanDB

数据库 yashandb

【YashanDB知识库】YashanDB备份恢复的两种渠道

YashanDB

数据库 yashandb

【YashanDB知识库】YashanDB获取统计信息

YashanDB

数据库 yashandb

阿里云通义实验室自然语言处理方向负责人黄非:通义灵码2.0,迈入 Agentic AI

阿里云云效

阿里云 云原生

用友畅捷通在Flink上构建实时数仓、挑战与最佳实践

Apache Flink

大数据 flink 实时计算 实时处理

HarmonyOS Next 端云一体化(3)

万少

HarmonyOS NEXT 端云一体

Univer go 无需搭建环境,一键部署私有化的表格系统

梦数技术团队

Python JavaScript 数据库 AI spreadsheet

第83期 | GPTSecurity周报

云起无垠

【YashanDB知识库】YFS_修改AU_SIZE参数

YashanDB

数据库 yashandb

项目管理工具推荐:8款替代Trello的热门选项

易成研发中心

项目管理 项目管理工具

行业分享|AI+仿真,重塑前端设计研发价值(一)

Altair RapidMiner

机器学习 AI 智能制造 仿真设计

AI口语纠正的技术框架

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI口语纠正

京东店铺所有商品接口系列(京东API)

tbapi

京东API接口 京东店铺所有商品接口

拥抱创新科技,探寻体育变革之路—— 第二届LALIGA EXTRATIME体育行业论坛在京成功举办

新消费日报

人形机器人的 ChatGPT 时刻即将到来,如何转入?

机器人头条

大模型 人形机器人 具身智能

云、数、AI融合下低代码技术对建筑企业数字化转型的赋能

不在线第一只蜗牛

人工智能 云计算 数字化

超越 RAG:Memobase 为 AI 应用注入长期记忆丨社区来稿

声网

3D打印市场爆火,纵维立方新品S1C一分钟售罄

新消费日报

项目变更的范围包括哪些方面

易成研发中心

项目管理 项目管理工具 项目变更

AI智能口语练习APP的开发

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

【YashanDB知识库】YashanDB到YashanDB手工元数据迁移

YashanDB

数据库 yashandb

阿里云通义实验室自然语言处理方向负责人黄非:通义灵码2.0,迈入 Agentic AI

阿里巴巴云原生

阿里云 云原生

《CPython Internals》阅读笔记:p221-p231

codists

AI技术在语法讲解APP开发中的应用

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI语法练习

2025-01-18:施咒的最大总伤害。用go语言,一个魔法师掌握了多种不同的咒语,每个咒语对应一个伤害值,这些伤害值存储在数组 power 中,其中可能会有多个咒语具有相同的伤害值。 使用某个特定伤

福大大架构师每日一题

福大大架构师每日一题

电商直播平台如何借助容器与中间件实现研发效率提升100%?_文化 & 方法_阿里巴巴中间件_InfoQ精选文章