实战案例——分众传媒 | 学习笔记

本文涉及的产品
函数计算FC,每月15万CU 3个月
图像搜索,7款服务类型 1个月
文件存储 NAS,50GB 3个月
简介: 快速学习实战案例——分众传媒

开发者学堂课程【云原生最佳实践案例实战案例——分众传媒学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1052/detail/15272


实战案例——分众传媒


内容介绍:

一、业务场景

二、Serverless 探索实践

三、基于 Serverless 函数计算 FC 的选型思考

四、初步试水:图片识别系统

五、系统再升级,镜像部署

六、Serverless 实践效果

七、总结思考

今天,中国有4亿城市人口。有3亿在看分众,覆盖了230个城市,大约有260万个电梯终端。


一、业务场景

广告投放:广告主买量->投放排期->投放统计->效果展示

业务场景

前期:广告设计、视频处理

后期:广告投放、效果展示

静态海报:电梯海报市场占有率超过73%

电梯屏幕:30万块,覆盖91%的中高端写字楼

云原生应用架构

终端接入:手机 APP 和视频终端

业务应用:员工接入、终端管理、CRM、视频处理、图片识别、数据上报、数据分析、视频直播

云服务:SLB、MQTT、KAFKA、RDS、转码服务、镜像仓库、Flink、IOT平台

主要说IOT平台,所有的平端都是用的IOT服务,平端的切入是用的阿里的三网卡,这样的好处就是平端的连通率大约在95%左右,大大提高了人工效率,以前的平端都是需要人工插卡上刊,接入IOT阿里云三网卡之后,业务量从50%提高到了95%,在外的100台设备里大约有95台是联网的,这样可以很好地支撑业务,给技术实现带来了很大的好处。静态的电梯海报里有大约200万个,每周电梯海报都需要上刊,上刊以后都会有图片处理,图片处理主要是做自动识别处理,自动识别处理就是每周每个工人去上刊以后,需要知道上刊是否正确,图片是否上错,图片是否放反,这一系列的应用都可以实时通知到上刊人员,上刊人员在上刊时,将图片放错放反,可以通过手机短信通知到他,上刊人员可以实时重新换画重新上刊,因为业务方需要延迟必须在一个小时内完成


二、Serverless 探索实践

传统服务器开发无法满足业务的高速增长

三大痛点:

Scale-Out耗时太长:工人以前上刊是无法及时知道上刊是否错误。

资源利用率低:因为上刊主要业务是集中在周末,因此所有资源主要在周末使用,平日时间段不需要使用服务器

运维复杂,人员技能要求高:因为业务复杂,所以运维人员技能要求很高,需要招聘更高级的人员来维持运维

最后在上行的时候有两个选择:容器服务K8S 和Serverless函数计算


三、基于 Serverless 函数计算 FC 的选型思考

一些担忧:

大规模实践案例

图片识别算法往往很大,函数计算能否适用

最大规格只能支持2C3GB

没办法提供CPU使用率和内存使用率等监控

运行原理的差异

一个如果是用 K8S 的话请求到云主机,通过对外的 API 来提供请求

另一个是Serverless计算平台,不需要关心用了多少服务器和人力,只需要关心API请求是否正确到达,每一次图像识别是否正确,把识别错的图片发送通知到上刊人员

因此最后选择了函数计算。

函数计算FC的优势

自动弹性伸缩

资源免运维

可提供大规格性能实例


四、初步试水:图片识别系统

分众有200万的电梯海报,每周上刊需要每张图片都精准送达,不允许有差错,在上线图片识别系统的时候通过OSS 打通MNS 的服务,将消息发送到FC函数计算,进行处理之后可以将图片加水印,对图片进行识别,对图片进行匹配,可以很精准告诉上刊人员,图片上刊成功,可以前往写一个地点,如果出错,在刚上完刊同时,会收到短信。

业务峰值时:1分钟扩容7k+实例

如果自己部署 K8S 会牵扯很多的人力物力,所以在Serverless上可以很轻松告诉业务应用是什么,让Serverless处理背后其他业务。


五、系统再升级,镜像部署

2021年年底,Serverless进行了业务升级,以前服务是挂在NAS上面,挂载图像识别算法,导致很大的业务我们必须实时关注NAS有没有挂掉,如果NAS一旦挂掉,FC业务启动不了,导致很多时间周末排查业务的时候,NAS挂掉了,服务还正常运行,导致算法加载不出来,所以他们对业务进行升级,将挂载算法业务放在容器里,通过镜像部署,提供了镜像加速能力弹性时直接命中镜像缓存。在高峰时镜像启动比NAS挂载启动快很多,4.2GB镜像10秒就可以启动。

image.png

丰富的监控指标提升故障定位效率

提供了丰富的监控指标:请求级别的错误统计,CPU 和内存使用率。异步请求堆积情况,流控及弹性实例数等。可以根据数据快速定位运行状态


六、Serverless 实践效果

开发可以更加专注业务迭代,例如可以让图像识别的开发人员更关注如何提升图像识别算法的识别率,将更多的业务运维效率交给服务器处理。

Serverless提供了:

极致弹性:自动扩容应对流量突增。

资源免运维:减少人力成本,让开发更专注业务

发布效率提升:应用发版时间大大缩短,业务快速上线

监控更完善:更详细的监控,方便快速诊断问题

开发运维效率提升80%,成本下降50%,弹性销率10倍以上。


七、总结思考

适用场景:

CPU 密集型+极致弹性

事件驱动,简化架构复杂度

适合新项目部署,存量项目需改造

整体期望降低运维成本

业务规划

大数据分析场景:基于Kafka+FC 实现数据清洗,简化 Flink 使用成本;

微服务上Serverless:尝试用Serverless 应用引擎 SAE 来承载微服务,简化运维,提升效率;

视频直播:尝试用 FC 接入一些第三方的直播流,转推到视频终端 。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
移动开发 前端开发 数据可视化
《Bakery 产品演示平台的探索与实践-念响》演讲视频 + 文字版
《Bakery 产品演示平台的探索与实践-念响》演讲视频 + 文字版
248 0
|
消息中间件 运维 监控
实战案例——韵达 | 学习笔记
快速学习实战案例——韵达
|
人工智能 Kubernetes 算法
实战案例—流利说 | 学习笔记
快速学习实战案例—流利说
|
SQL 弹性计算 分布式计算
《冬季实战营第五期:轻松入门学习大数据》实践报告
大数据环境的基本实现,使用PAI基于协同过滤算法实现商品推荐,通过使用阿里云Elasticsearch快速搭建智能运维系统
208 0
《冬季实战营第五期:轻松入门学习大数据》实践报告
|
SQL 机器学习/深度学习 算法
冬季实战营第五期:轻松入门学习大数据笔记
冬季实战营第五期:轻松入门学习大数据笔记
179 0
冬季实战营第五期:轻松入门学习大数据笔记
|
监控 前端开发 Cloud Native
第十六届 D2 前端技术论坛完成 6 大专场 21 个话题集结,快来划重点,你一定会有所收获!
一年一度的前端盛会D2前端技术论坛就要来啦,话题集结完成,快来报名学习吧!
1608 0
第十六届 D2 前端技术论坛完成 6 大专场 21 个话题集结,快来划重点,你一定会有所收获!
|
存储 数据采集 弹性计算
动手篇 -- 冬季实战营第五期:轻松入门学习大数据
依次包括动手实战-基于EMR离线数据分析,使用阿里云Elasticsearch快速搭建智能运维系统,推荐系统入门之使用协同过滤实现商品推荐,两个直播带练,包括利用湖仓一体架构快速搭建企业数据中台和基于Elasticsearch+Fink的日志全观测最佳实践。
125 0
|
SQL 机器学习/深度学习 弹性计算
|
SQL 弹性计算 分布式计算
冬季实战营第五期:轻松入门学习大数据学习小结
冬季实战营第五期:轻松入门学习大数据学习小结