基于阿里云Serverless架构下函数计算的最新应用场景详解(二)

摘要: Serverless概念是近年来特别火的一个技术概念,基于这种架构能构建出很多应用场景,适合各行各业,只要对轻计算、高弹性、无状态等场景有诉求的用户都可以通过本文来普及一些基础概念,看看这些场景是否对用户有一些指导意义。

点此查看原文:http://click.aliyun.com/m/40927/

利用弹性扩容(视频直播多人连麦场景)

图片描述
场景描述:

直播间的客户端把主播和连麦观众的音视频采集发送给函数计算做混流服务,函数计算把数据汇集后交给混流服务进行合成,并把合成画面视频流推送给CDN,终端观众实时拉取直播流,能实时看到混流合成画面。

视频直播应用场景中,有一种场景视频直播的多人连麦,主播可以同时和多个工作进行连麦,把多个观众或者好友画面接入,并把画面合成到一个场景中,供给更多观看直播的观众观看。这个场景中,有几个技术难度需要关注:

连麦的观众不固定,需要考虑适度的并发和弹性。
直播不可能24小时在线,有较为明显的业务访问高峰期和低谷期。
直播是事件或者公众点爆的场景,更新速度较快,版本迭代较快,需要快速完成对新热点的技术升级。
综合以上几个特点,可以通过Serverless这种架构的来完美解决以上痛点。

函数计算作为连麦观众和主播接入的实时音频和视频转发集群,当并发量过来时候,函数计算自动扩容多个执行环境来处理实时数据流,当业务高峰期过去后,会适度缩减资源使用,代码管理部署在云端,代码迭代可以随时进行修改和维护,无需再多管理一套软件运行环境。

视频直播场景常规做法:

购买负载均衡应付并发。
购买计算资源做数据处理。
业务低谷期需要想办法释放硬件资源来节省成本。
多版本要维护多套运行环境。
函数计算解法:

1、把负载分发程序写到函数里。

2、多版本迭代无需更换运行环境,仅仅替换代码版本即可。

3、业务访问按需付费,业务低谷期无费用。

物联网数据处理场景
图片描述
整个架构图分成2部分内容:

一部分是Web应用,模拟一个社交内容更新和数据处理的流程,Web用户通过API网关把请求转发到函数计算进行处理,函数计算把处理后的内容更新到数据库中,并更新索引,另外一个函数计算把索引更新推送的搜索引擎供给外部客户进行检索,完成整个数据闭环处理。

另一部分是智能设备通过IoT网关把设备状态推送到函数计算处理,函数计算通过API接口把消息通过移动推送服务,推送给移动端进行状态确认和管理。在智能设备状态处理的场景中,同样也会碰到几个核心技术问题要解决,当海量设备把状态发送到IoT平台后,如何设计一套高效非轮询的技术框架来处理设备状态数据;如何把处理后的数据高效透传其他产品,例如写数据库或者推送给移动端。

IoT设备状态场景常规做法:

设置消息通道接收事件,并编写业务代码。
购买服务器资源做后端数据处理。
开通多个产品,并调用SDK代码来完成业务交互。
维护相关硬件软件环境。

函数计算解法:

定制IoT平台的事件通知,直接把业务代码写到函数计算中。
不需要维护运行环境,用完即可释放。
控制台配置,就可以把信息透传给相关产品。
通过两种方式的对比,能看出函数计算的解法更具备通用性和大量减少维护工作。

共享派单系统详解

客户通过派单平台选着某种商家提供的服务,可能是餐饮、商品、或者服务。派单平台通知最近的骑手到最近的商家拿到服务并派送到客户手里。一个简单的流程图如下:

图片描述
流程详解:

步骤1、客户通知派单平台下单某商品

步骤2、派单平台通知最新骑手

步骤3、派单平台同时通知商家商品售卖出去

步骤4、骑手到指定的商家获取商品

步骤5、骑手配送到客户所在地

这个派单场景中,要解决几个棘手的技术:

整合多种资源,计算资源会涉及到,骑手位置信息、最优路径规划、车况情况、调度系统等

低延迟:派单系统对订单的响应要求很高,从接单到商家在到客户,整个闭环都需要在段时间内完成。

海量数据:涉及到三方面的数据,客户数据、商家数据、平台骑手数据、位置信息、商品信息等。

请求明显波峰波谷:派单系统在一天中的资源使用非常不均衡,波峰期,例如外卖,在中午和晚饭达到高峰,平时空闲。

通过技术选型转化成阿里云产品的解决方案后,函数计算结合其他产品比较完美的解决上述问题,解决方案图如下图所示:

图片描述
流程详解:

客户APP把订单请求通过API网关透传给函数计算,函数计算把处理后的数据传输给表格存储,表格存储存放了骑行数据、商家信息、位置信息等,其中骑行日志会存放到日志服务里,便于后续做报表分析。骑行过程中骑手头像、随手拍街景会存放到OSS中,骑手位置可以通过函数计算去拉取第三方地图信息,例如高德地图等。这个方案中,函数计算可以完成动态扩容问题,API网关可以解决鉴权和安全访问问题,函数计算打通了多款产品,可以无缝使用其他资源和内容。所有处理后的数据可以存放到表格存储数据库中,所有日志都可以直接加载到日志服务为后续数据报表服务。

共享派单系统常规做法:

购买多台服务器来支持高峰期的访问,访问波谷期自行设置释放原则。
通过编程方式完成多个产品的交互。
为了保证负载均衡,需要购买相关的产品来支撑。
人工维护相关硬件软件环境。

函数计算解法:

定制IoT平台的事件通知,直接把业务代码写到函数计算中。
不需要维护运行环境,用完即可释放。
控制台配置,就可以把信息透传给相关产品。
两种解法都能达到目标,从资源利用率和可维护性来看,使用Serverless架构的方式会更优。

4. 总结
通过上面几个个场景的详解,我们大致可以得出这样的结论,通过事件触发场景、有业务访问高峰和低谷的场景、迭代次数较多、需要快速打通多款产品场景,通过函数计算能完美的解决成本、效率、联通等问题。

表3-1函数计算和传统自建服务器的优劣对比

图片描述
图片描述

函数计算虽然适用于很多场景,但也不是覆盖全部应用场景的万金油。例如某些业务在一天中没有明显的请求波峰波谷,请求相对平缓,那么使用函数计算成本不见得会节省多少。Serverless这种框架是新兴的技术,目前相应的支持开发工具较少,整体这个框架还在探索中。另外函数计算的执行环境是不记录状态的,有些耦合性较强的应用也不太适合用Serverless这种框架。受限于资源大小分配,一些大型的应用程序也不太容易能拆分能搬上来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

增长黑客系列:今天比昨天增长多少?快使用环比函数来分析日志

摘要: 增长黑客系列:今天比昨天增长多少?快使用环比函数来分析日志 在我们平时分析业务时,一个最重要的指标就是,今天比昨天增长多少,本周比上周增长多少;或者同上一个周期相比增长最大的分类是…

云计算将会让数据中心消失?

戳蓝字“CSDN云计算”关注我们哦!作者 | 王洪鹏出品 | CSDN云计算(ID:CSDNcould)近年来企业应用云化明显,越来越多的企业开始将自己的公司业务转移到云平台之上,可能是迁到公有云,也可能是私有云…

巧用 Img / JavaScript 采集页面数据

摘要: 当我们有一个新内容时(例如新功能、新活动、新游戏、新文章),作为运营人员总是迫不及待地希望能尽快传达到用户,因为这是获取用户的第一步、也是最重要的一步。 点此查看原文:http://click.aliyun.com/m/40929/…

时间序列数据的存储和计算 - 开源时序数据库解析

摘要: Prometheus 开源时序数据库解析的系列文章在之前已经完成了几篇,对比分析了Hbase系的OpenTSDB、Cassandra系的KairosDB、BlueFlood及Heroic,最后是tsdb ranking top 1的InfluxDB。 点此查看原文:http://click.aliyun.com/m/…

flowable modler为任务节点增加自定义属性

如何在modler设计器中为任务节点,添加自定义的属性。 文章目录1、modler设计器中所有元素的定义2、flowable如何处理stencilset_bpmn.json文件3、为UserTask任务节点添加一个扩展属性3.1. 添加属性的名称3.2. 为任务节点添加扩展属性3.3. 查看效果1、modler设计器中…

微软对OpenAI投资10亿美元欲开发AI技术;华晨宝马宣布建成全球首个5G汽车生产基地;传苹果将收购英特尔调制解调器芯片业务...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 索尼Xperia 1R信息曝光&…

java se 与j2se_javaSE和 j2SE的区别?

javaSE和 j2SE的区别?关注:71 答案:4 mip版解决时间 2021-01-28 18:29提问者耍硪ミ倪配么2021-01-27 20:19javaSE和 j2SE的区别?最佳答案二级知识专家自然卷的气质2021-01-27 21:53JavaEE 比 se多了许多包,用于开发大规模的,分布式的Java应用/服务器…

[高速通道进阶一]如何理解高速通道的就近接入和一点接入连接全球

摘要: 经常有用户问,我在上海有个IDC,在北京有个VPC,我想通过专线把IDC和VPC连接起来,我是不是要找运营商直接拉一根上海到北京的专线?其实不是这样的,用户只需要接入到最近的接入点即可。高速通…

Flowable决策任务(decision task)

摘要:Flowable中引入了一个decision task(我们可以将其称之为决策任务)。在讲解decision task之前,我们不妨看一下dmn引擎。因为如果大家不了解dmn,那肯定不知道如何使用decision task了。 dmn是decision Modeling Not…

5G精华问答 | 5G技术已经成熟了吗?

1G时我们用手机打电话,2G时我们能互发短信、看文字信息,3G时上网看图片,而4G时我们看视频和直播,从1G到4G,不仅信号越来越好,安全性越来越高,上网也越来越快了。1Q:5G技术已经成熟了…

PyODPS DataFrame:统一的数据查询语言

摘要: 前几天,PyODPS发布了0.7版本,这篇文章给大家介绍下PyODPS新版本带来的重要特性。 之前也有若干篇文章介绍过了,我们PyODPS DataFrame是延迟执行的,在调用立即执行的方法,比如execute、persist等之前&…

AliOS Things 持续集成(CI)系统介绍

摘要: AliOS Things在快速的迭代进化之中,如何保证提交的代码质量,并保证在各个硬件平台上的稳定性,是一个非常大的挑战。同时物联网硬件碎片化,资源紧张,对持续集成(CI)系统也提出了…

从青铜到王者,助力企业轻松上云的四大绝招!

戳蓝字“CSDN云计算”关注我们哦!IBM在7月份发生了很多大事,其中这两件你知道吗?第一,IBM(NYSE: IBM)与美国电话电报公司(AT&T)(NYSE: T)达成一项为期多年的战略联盟…

PyODPS 中使用 Python UDF

摘要: PyODPS 中使用 Python UDF 包含两方面,一个是直接使用,也就是在 MaxCompute SQL 中使用;一个是间接的方式,也就是 PyODPS DataFrame,这种方式你不需要直接写 Python UDF,而是写普通的 Pyt…

无服务器计算,如何节省时间和成本?

戳蓝字“CSDN云计算”关注我们哦!译者 | 风车云马出品 | CSDN云计算(ID:CSDNcould)为了解决面临的业务问题,通常需要开发人员花费一定的时间编写完代码,再交由运维工程师确保正常的运行,整个过程…

一张图看懂阿里云新发布的物联网设备上云神器——HiTSDB + IoT套件

近日,阿里云针对物联网企业遇到的设备认证困难、安全问题突出等问题,发布了HiTSDB IoT 套件的一体化解决方案,能够支持物联设备快速上云,高效设备管理,数据安全,低成本海量数据存储,实时掌握设备…

Spark精华问答 | 谈谈spark中的宽窄依赖

总的来说,Spark采用更先进的架构,使得灵活性、易用性、性能等方面都比Hadoop更有优势,有取代Hadoop的趋势,但其稳定性有待进一步提高。我总结,具体表现在如下几个方面。1Q:Spark RDD是什么?A&am…

阿里云产品头条(2017年12月刊)

摘要: 一、新产品发布1、云防火墙 商业化 发布云防火墙是一款云环境下的防火墙产品,首创了基于业务可视的结果,实现业务梳理和业务隔离的技术。适用于互联网/通用/游戏/金融/新零售/…

一张图解读阿里云数据管理DMS企业版

摘要: 阿里云数据管理DMS企业版,作为数据管理产品大家族里的新成员,于2017年11月开启公测,今年1月底正式发布商业化版本。 作为业界领先的面向企业的数据库DevOps解决方案,DMS企业版旨在帮助企业安全、高效的使用数据库…

架构设计之「 微服务入门 」

戳蓝字“CSDN云计算”关注我们哦!作者 | 奎哥来源 | 不止思考微服务这几年不可谓不火,很多技术团队都开始在自己的项目上引入了微服务。一方面这些团队确实很好的推动了微服务的应用和发展,另一方面也可以看到一些盲目追技术热点的行为所带来…