作者:鹿玄,阿里云解决方案架构师

前言


直播带货是近期发展非常迅猛的一种新的电商模式。构建一个电商直播平台从技术角度上大致可以分为视频直播服务、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%,极大地提升了用户体验,为业务持续发展打下了坚实的基础。

特别推荐一个分享架构+算法的优质内容,还没关注的小伙伴,可以长按关注一下:

长按订阅更多精彩▼如有收获,点个在看,诚挚感谢

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

  1. 电商直播平台开发一般包含哪几种模式?

    所谓的"直播带货",实际上是通过直播平台,亦或是短视频平台,实现对在线商城的引流,从而快速获客手段.但是随着这种模式的不断发展,便逐渐催生出了一种新的电商应用系统,即直播带货系统. ...

  2. 看看这两个最火的电商直播平台

    随着直播带货的兴起,电商直播成为了企业营销推广的主流选择,但要细数最火的电商直播平台,非抖音和淘宝莫属.下面欢拓云直播小编就和大家来聊聊这两个平台. 1.淘宝平台 作为一个传统电商平台,用户使用淘宝通 ...

  3. 带你了解这6个主流的电商直播平台

    随着5G和AI技术的应用,直播得到了进一步发展,从秀场直播走到了电商带货直播,同时,正处于红利期的网红经济也开始带动直播电商的发展. 从单纯的网红带货,到自带流量的明星下场,再到声名显赫的企业家,纷纷 ...

  4. 电商直播平台有哪些分类?看这篇文章就知道了

    随着直播技术的进步,各行业开始入局直播,其中电商行业走在最前列.如今做电商直播已经成为了一种常态,而在2021年,做电商直播主做内容还是主做电商,还是要看直播平台的属性.那么电商直播平台有哪些分类呢. ...

  5. 广电总局规定:电商直播平台加强内容审核

    在11月23日,国家广电总局下发<国家广播电视总局关于加强网络秀场直播和电商直播管理的通知>,对电商直播行业规范作出了一系列的要求. 在这之前虽然发过相关的文件,但是对于电商直播行业来说, ...

  6. 如何进入电商直播行业?直播平台有哪些选择?

    自从直播带货火了之后,电商行业就开始全面推进直播带货. 那么怎么进入电商直播行业呢? 这要从你的定位来决定.如果你是作为商家的话,那么肯定是以卖产品为主,做电商直播就是通过直播平台的达人网红等来合作带 ...

  7. 做电商直播,主流的直播平台有哪些呢?

    如今电商行业发展得越来越快,直播带货成为了当前最受欢迎的销售方式,而很多电商平台或者非电商平台都开始直播之路,那么主流的电商直播平台有哪些呢?下面欢拓云直播小编带大家来看看吧. 1.淘宝 淘宝直播是在 ...

  8. 腾讯终于要杀入电商直播了

    配图来自Canva​ 在直播电商大火的当下,各大平台都纷纷入局,作为拥有顶级流量的腾讯,自然也不会放过电商直播的热潮. 近日,腾讯直播团队发布了"致腾讯直播商家及内容创作者的一封信" ...

  9. 百度入股电商直播服务商“卡美啦” 备战2020年双11

    10月19日消息,天眼查信息显示,卡美啦运营主体杭州创年网络科技有限公司在10月14日出现工商变更,百度全资控股公司达孜县百瑞翔创业投资管理有限责任公司成为卡美啦股东之一. TechWeb从百度方面了 ...

最新文章

  1. c++备忘录模式mememto
  2. 如何实现阿里云容器镜像服务反向访问代理?
  3. 御术:比能力更重要的是你的底层操作系统
  4. Maven项目配置、检出、运行
  5. Docker安装Mysql8.0,并配置忽略大小写,一句命令搞定
  6. python程序设计实验七_Python程序设计实验报告七:组合数据类型
  7. Node.js 学习笔记--- (2)创建一个简单的博客工程
  8. HDU - 1520 Anniversary party (有向入门树形DP)
  9. spring定时器时间表达式
  10. 伦敦银实时行情中的引爆点
  11. canvas画线变粗变模糊的解决办法
  12. 2020年TI杯大学生电子设计大赛 无线运动传感器节点 备赛、参赛实录(历时一个月)
  13. DataSet 过滤方法
  14. 大唐:我家阁楼通公主府(二)
  15. python调用大漠写辅助_Python调用大漠插件
  16. Idea创建maven父子工程及其依赖关系
  17. 栈实战之检查括号是否闭合
  18. tomcat启动时日志卡在Deploying web application directory解决
  19. android gps定位太慢,小米手机gps定位慢怎么解决?小米4解决GPS搜星慢的方法
  20. 股票交易问题全拿下,一扫光

热门文章

  1. 浅谈边缘计算对企业安全建设的影响及趋势
  2. Linux下磁盘分区工具cfdisk的使用
  3. 数据库为何不建议部署在Docker容器内
  4. android列表勾选框,android listview实现复选框列表
  5. HDU2767(强连通分量+Kosaraju算法)
  6. sock 文件方式控制宿主机_nginx与php-fpm通信的两种方式
  7. python输出到语音播放_用Python写一个语音播放软件
  8. 0x12.基本数据结构 — 队列与单调队列
  9. 9.68最长公共子序列
  10. getline简单例子