红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

电商直播平台如何借助容器与中间件实现研发效率提升 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:001399

评论

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

2020金九银十面试总结,大厂Java面试必会知识点(1),java基础入门第二版第二章答案

Java 程序员 后端

微软黑客马拉松@您,低代码风云再赛!

微软商业应用

低代码 Power Platform 黑客马拉松 黑客松

渗透测试之破解详细演示

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

北鲲云超算平台借助GPU实现仿真加速

北鲲云

百分点科技大数据技术团队:基于多Spark任务的ClickHouse数据同步方案实践

百分点科技技术团队

2020年,阿里最新的java程序员面试题目含答案带你吊打面试官

Java 程序员 后端

10W字解析 SpringBoot技术内幕文档,实战+原理齐飞,java技术上难以解决的问题

Java 程序员 后端

2020年IT运维市场大前景到底怎么样,mysql数据库sql语句面试题

Java 程序员 后端

2020金九银十面试总结,大厂Java面试必会知识点,基础+底层+算法+数据库

Java 程序员 后端

CODING —— 云原生时代的研发工具领跑者

CODING DevOps

云原生 Orbit 研发工具 Compass 战略升级

1047 行 MySQL 详细学习笔记(值得学习与收藏),java基础面试题及答案整理

Java 程序员 后端

1年半经验,2本学历,Curd背景,学了阿里P8级架构师的7+1+1落地项目

Java 程序员 后端

数智商业创新的强大力量,用友BIP如何构筑产业互联网?

海比研究院

沃丰科技一体化平台 AI驱动数字与产业深度融合

海比研究院

律所CRM软件,适用于律师事务所的系统

低代码小观

CRM 管理系统 事务管理 律所 CRM系统

谈一谈麦语言程序化模型编写

Regan Yue

量化交易 麦语言 10月月更

【稳定性平台】GOREPLAY流量录制回放实战

得物技术

golang 得物 GOREPLAY 稳定性平台

国密解决方案专场推介会 四城联动 圆满落幕

腾讯安全云鼎实验室

解决方案 国密

Springboot Keycloak集成

消失的子弹

springboot keycloak

130道BATJM真题及解析:集合+Spring,华为社招java面试题

Java 程序员 后端

科大讯飞1024,我在现场

搬砖人

1024我在现场

1000道阿里巴巴初级~高级Java工程师面试题(含答案,2021最新华为Java校招面试题

Java 程序员 后端

1000页神仙文档,连阿里P8面试官都说太详细了,面面俱到!搞懂这些直接P6+

Java 程序员 后端

10年Java开发经验,超过500人面试阿里的同学,总结出这108道面试题

Java 程序员 后端

2020年京东Java研发岗社招面经(面试经历+真题总结,java编程教程视频下载

Java 程序员 后端

2020最新阿里巴巴必问的200个面试题以及答案,助你斩获阿里offer

Java 程序员 后端

程序员:平安Java岗面试耗尽了我毕生所学,想了想,还是去字节吧

Java 编程 程序员

fastposter 2.1.1 发布 电商级海报生成器

物有本末

Java Python 海报 fastposter 海报生成器

(项目实战)如何结合k8s和pipeline的流水线,并通过k8s接口完成镜像升级

Java 程序员 后端

10个知识点让你读懂Spring MVC容器,mysql主从复制原理

Java 程序员 后端

更务实的联想,要做钢筋铁骨的边缘智能

脑极体

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