本文以Firebase为例,因为腾讯云的云函数正在内测,还没申请到。:)
现如今云计算时代渐渐出现了越来越多的新型模式,从
IaaS: Infrastructure-as-a-Service(基础设施即服务)
PaaS: Platform-as-a-Service(平台即服务)
SaaS: Software-as-a-Service(软件即服务)
到CaaS:Containers as a Service(容器云)
再到的微服务架构,都在试着将各种软、硬件资源或抽象的事物做为一种服务提供给开发者使用,让开发者不再担心基础设施、资源需求、中间件等等,在减轻心智负担的同时更好地专注于业务。
FaaS是Functions as a Service(函数即服务)的简称,它往往和无服务架构(Serverless Architecture)一同被提起。
腾讯云的SCF
无服务器云函数(Serverless Cloud Function)是腾讯云提供的无服务器(serverless)执行环境,您无需购买和管理服务器,而只需使用平台支持的语言编写核心代码并设置代码运行的条件,代码即可在腾讯云基础设施上弹性、安全地运行。腾讯云完全管理底层计算资源,包括服务器 CPU、内存、网络和其他配置/资源维护、代码部署、弹性伸缩、负载均衡等。代码按需运行,空闲时不收费。使用无服务器云函数将帮您免除所有运维性操作,使您更加专注于核心业务的开发,实现快速上线和迭代,把握业务发展的黄金时期。
Firebase
云函数使开发人员能够访问Firebase和Google Cloud的一些事件,以及可扩展的计算来运行代码以响应处理这些事件。 Firebase以独特的方式使用云函数来满足其独特需求,典型运用的领域:
下面就进行一一说明。
开发人员可以使用云函数来保持与用户之间的联系和获取最新的有关应用程序的相关信息。
比如,在一些社交网站或应用上(如微博)。 在这样的程序中,由实时数据库触发的写入功能以存储新的关注者可以创建Firebase的云消息通知,让用户知道他们的粉丝数又增加了。
下面是它的工作原理图:
YingJoy
其它通知的用例
等等
使用云函数数据库处理事件,可以根据用户行为修改实时数据库,保持系统的更新和清洁。 例如,在基于实时数据库的聊天室应用程序中,您可以监视写入的事件,并从用户的消息中擦除一些带有敏感词或不恰当的文本。 下面是它的工作原理图:
YingJoy
其他实时数据库清理和维护用例
开发人员可以利用云端功能将云资源密集型工作(要耗费繁重的CPU资源或网络资源)将运行的实际情况传送到在用户设备上。 例如,您可以编写一个函数来监听图像上传到Storage(谷歌的一个存储图像的程序)中,将图片的映像下载到运行该功能的实例,修改它并将其上传回页面中。 修改包括调整图片大小,裁剪或转换图像。利用ImageMagick命令行工具,与云功能一起使用,使其工作变得更加简单容易。
下面是它的工作原理图:
YingJoy
其他在云上执行密集的任务,而不是在本地的应用程序上用例
1.定期删除未使用的帐户
2.自动和上传的图像
3.向用户发送批量电子邮件
4.定期汇总数据
5.处理待处理的工作队列
云函数可以通过调用和公开服务或API来使你的应用程序可以更好地与其他服务配合工作。 例如,用于开发团队的应用程序可以将GitHub提交到开发团队的聊天室。
下面是它的工作原理图:
这里仅仅讨论它的应用场景
视频应用、社交应用等场景下,用户上传的图片、音视频的总量大频率高,对移动应用的实时性和并发能力都有较高的要求。例如:使用多个云函数对上传的视频短片进行转码,分别对应不同的清晰度(1080p、720p 等),以满足不同场景下用户的需求,适应移动网络带宽较小且不稳定的特性。
其中视频文件始终在COS上
一些数据处理系统中,常常需要周期性/计划性地处理庞大的数据量。例如:证券公司每12小时统计一次该时段的交易情况并整理出该时段交易量 top 5,每天处理一遍秒杀网站的交易流日志获取因售罄而导致的错误从而分析商品热度和趋势等。
此时,腾讯云无服务器云函数 SCF 近乎无限扩容的能力可以使您轻松地进行大容量数据的计算。在下图所示的例子中,SCF 可以对源数据并发执行多个 mapper 函数,在短时间内完成工作,相比传统的工作方式,更能避免资源的闲置浪费而节省资金。
类似于上面的在云上执行密集的任务,而不是在本地的应用程序上
无服务器云函数和其他腾讯云云服务紧密结合,开发者能够构建可弹性扩展并在多个数据中心高可用运行的移动或 Web 应用程序 – 轻松创建丰富的无服务器后端,无需在可扩展性、备份冗余方面执行任何管理工作。
其中: 1.使用 COS 托管静态网站,构建商品明细模块;
2.使用 无服务器云函数 构建登录模块,可以直接复用 OAuth 的授权登录逻辑;
3.使用 无服务器云函数 构建订单模块,在用户调用下单相关接口时触发增删订单等函数;
4.同时使用 无服务器云函数 支持个性化模块,根据用户的订单信息生成个性化数据并返回给客户端。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有