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

简介: 快速学习实战案例——分众传媒

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

课程地址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 接入一些第三方的直播流,转推到视频终端 。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
layui实现登录加载loading的解决方案
layui实现登录加载loading的解决方案
495 0
|
消息中间件 NoSQL JavaScript
阿里官方 Redis 开发规范
阿里官方 Redis 开发规范
|
11月前
|
人工智能 算法 API
构建基于 Elasticsearch 的企业级 AI 搜索应用
本文介绍了基于Elasticsearch构建企业级AI搜索应用的方案,重点讲解了RAG(检索增强生成)架构的实现。通过阿里云上的Elasticsearch AI搜索平台,简化了知识库文档抽取、文本切片等复杂流程,并结合稠密和稀疏向量的混合搜索技术,提升了召回和排序的准确性。此外,还探讨了Elastic的向量数据库优化措施及推理API的应用,展示了如何在云端高效实现精准的搜索与推理服务。未来将拓展至多模态数据和知识图谱,进一步提升RAG效果。
427 1
|
SQL 存储 监控
SQLServer事务复制延迟优化之并行(多线程)复制
【9月更文挑战第12天】在SQL Server中,事务复制延迟会影响数据同步性。并行复制可通过多线程处理优化这一问题,提高复制效率。主要优化方法包括:配置分发代理参数、优化网络带宽、调整系统资源、优化数据库设计及定期监控维护。合理实施这些措施可提升数据同步的及时性和可靠性。
479 0
|
存储 关系型数据库 MySQL
MySQL Doublewrite Buffer(双写缓冲区)深入解析:原理及作用
MySQL Doublewrite Buffer(双写缓冲区)深入解析:原理及作用
|
Prometheus 监控 Cloud Native
搭建服务端性能监控系统 Prometheus 详细指南
搭建Prometheus监控系统,涉及Ubuntu上Docker的安装,通过`docker run`命令启动Prometheus容器,并挂载配置文件。配置文件默认示例可以从GitHub获取,调整`scrape_interval`和`targets`以监控Prometheus自身及Node Exporter(提供系统指标)。Node Exporter以Docker容器形式运行在9100端口。完成配置后,重启Prometheus容器,通过Web界面查看监控数据。后续将介绍结合Grafana进行可视化。
|
Java Maven 索引
springboot上传模块到私服,再用pom引用下来
springboot上传模块到私服,再用pom引用下来
474 0
springboot上传模块到私服,再用pom引用下来
|
开发工具
Vim 编辑器:高效文本编辑的瑞士军刀
**Vim 概览:** Vim 是一个功能丰富的文本编辑器,以其高度可定制性著称。文章介绍了 Vim 的高效使用技巧,包括快捷打开文件、命令行模式下的常用命令、查找与替换、删除和复制文本。还讨论了配置 `.vimrc` 文件以自定义设置,如改变 leader 键、设置缩进和高亮,并展示了安装插件如 vim-airline 和 vim-snazzy 的方法。通过这些技巧,用户能提升 Vim 使用效率。
282 5
|
存储 人工智能 数据挖掘
AI大模型量化
AI大模型量化
736 0
|
前端开发 JavaScript
纯前端用XLSX库导出excel,可含多个sheet
纯前端用XLSX库导出excel,可含多个sheet
950 0