做a漫画在线观看网站,注册个免费网站,网络营销和传统营销的区别,ui设计原理欢迎大家前往腾讯云社区#xff0c;获取更多腾讯海量技术实践干货哦~ 本文来自腾讯云技术沙龙#xff0c;本次沙龙主题为Serverless架构开发与SCF部署实践 卢萌凯#xff1a;毕业于东南大学#xff0c;曾就职于华为#xff0c;熟悉云行业解决方案。目前负责腾讯云中间件产… 欢迎大家前往腾讯云社区获取更多腾讯海量技术实践干货哦~ 本文来自腾讯云技术沙龙本次沙龙主题为Serverless架构开发与SCF部署实践 卢萌凯毕业于东南大学曾就职于华为熟悉云行业解决方案。目前负责腾讯云中间件产品及无服务器云函数的技术架构打造帮助用户完成方案设计对云端存储产品的使用难点有独到见解。 大家好。我是腾讯云中间件及无服务器云函数架构师。我今天介绍分四部分第一对象存储COS简介。第二比较实用的一部分SCF与COS结合使用的应用场景。第三比较有意思人脸识别Demo。调用AI的接口用几行代码就把人脸识别的Demo就实现了。最后一部分是最佳实践。其实主要是来看一下在COS使用过程当中有哪些需要注意的地方。 我们先来介绍第一部分就是腾讯云存储平台发展历程。首先我们可以看到在2006年的时候腾讯云发布了第一代分布式存储平台叫TFS。经过近十年发展到2014年存储量达到500P也是在这一年随着腾讯云推出腾讯云存储系统开始对外服务。到现在腾讯云超过EB级存储现在对内服务腾讯相册QQ以及外部的58同城和大众点评等。 对象存储是什么这页简单介绍一下对象存储概念如果用云上的话就是用云的概念腾讯云对象存储提供的是面向非结构化数据支持HTTP和HTTPS协议访问的分布式存储服务它能容纳海量数据并保证用户对带宽和容量扩充无感知这里可以理解为基于Serverless架构。同时对象存储也会对云上其他的产品做一些深入的结合比如和CDN结合用户传到CDN音视频可以选择CDN进行加速也可以跟云上音视频转码服务相结合上传到COS音视频可以做转码服务。支持万象优图服务可以对图片加水印等方面处理。 这里列了一个COS对象存储简易流程用户可以通过手机APP、网站或者H5页面可以方便简单的访问。COS会和云上其他的应用结合同时用户也可以选择和COS本地服务相结合。 这里给了一个COS应用架构上面是一个传输服务可以选择CDN加速。比如用户需要上传到COS延时高的情况下可以选择CDN加速同时可以选择腾讯云提供的专线服务可以保证延时。同时可以使用运营商服务。 应用接入层可以选择应用服务像图片智能识别和处理音视频处理等。同时COS可以和云上一些大数据套件对接。一个简单的场景用户可以用云上的Kafka直接写入COSCOS和大数据对接来做用户行为的分析。 下面是数据接口这边是COS底层的一些接入方法。最底层是分布式数据存储我们可以通过API或者通过HTTP REST来访问接口。 这里给了一个简单的应用流程最左边可以看到用WEB服务或者APP终端通过运营商网络接入到对象存储做一些简单的上传和下载动作同时腾讯云上的COS可以做CDN分发或者做格式转换或者对接到云上的云主机或者私有的客户自己的云服务做一整条流程的打通。 把刚才的应用案例再细化一下的话这边给出了一个用户在实际使用过程当中的架构图。首先最左边的用户可以通过调API接口或者自己调云上封装好的sdk在自己代码里去读写COS。或者通过控制台很方便的上传和下载一些文件。这边是腾讯云上COS云存储这里一共给了三种应用一个是标准存储一个是低频存储还有近线存储。低频存储是用于读写数据频率比较低的场景比如说是网盘的运用。近线存储主要用于归档数据它可能是一些冷数据不经常用可以用近线存储它也可以提供高可靠的数据保存。同时它的成本也是非常低的。 同时对象存储可以对接云上其他的服务并针对不同的用户可以设置不同的访问权限。我这里放了一个视频对应用场景做一个总结和发散。 我这里写了一个简单的Demo主要做人脸识别首先我会创建两个存储桶这两个存储桶用来上传用户的信息触发SCF调用其中一个做用户特征的提取。第二个存储筒上传第二张用户的图像和第一个比对查看是否可以查到这个用户信息。SCF里直接调AI的接口大概有四、五行代码就能实现创建用户的信息再加一行代码就能比对用户信息。这里用SCF日志展示输出。这个流程图是这样的首先我在COS Bucket1里上传一张图片看他是否是一个新用户不是的话就创建一个特征如果是就把这个人像添加到已创建的用户特征。另外一个Bucket叫这个名字这个也会触发相同的SCF用于查看用户的特征如果查到的话这个用户可以获取权限如果查不到就会返回到无权限。 具体的话在控制台上我这边已经写好了这个函数我们通过查看函数执行日志来查看输出结果。这里我已经创建好一个bucket这个用来用户上传图像来提取用户特征。我会做一些测试我已经有一些测试图片了。我现在在网上随意下载一个用户的图像。我们看到这个图片上传成功了叫范2我现在到云函数控制台查看一下日志这边可以看到时间是16点37分。现在是没有权限的再上传一张图片在new face提取一下特征还是刚才那张图片。已经上传成功了。由于刚才是没有她的用户特征所以这里会创建一个新用户。我在上传另外一张图片这两张图片是不一样的16点38分刚刚上传成功。现在再回到控制台这边查看日志现在看到刚才范这张照片可以查看到她的特征了。 我再给大家看一下代码。我刚才实现的代码里大部分都是从cos里下载图片的代码和逻辑判断实际做人像识别的代码是直接调AI接口。这里还会对图片做大小判断如果太大的话会做一次裁剪因为太大的话可能上传到cos时会报超时。下面我还列了一些对AI接口的操作这里有很多的接口都封装到了SDK直接调用大概也就几行就可以实现比如人脸检索特征信息创建人脸比对两张照片是否是一个人还有身份证识别所以使用起来是很方便的。 现在回到PPT这一部分介绍的是COS和SCF结合的应用架构和应用场景。第一页是放的云函数架构平台这边是BaaS架构。用户可以上传代码和做一些配置在云函数平台并选择COS触发器同时也可以选择上传或者删除事件来触发这个云函数。文件上传到云函数后可以在云函数里做很多操作比如说我可以做日志备份跨区域的文件复制写云数据库做一些图片处理或者语音识别等。或者我可以用SCF对接IoT平台把数据推到IoT终端。大部分的云服务都可以和云函数平台做一个结合。 这样用的好处是COS这边可以提供高并发的场景。云函数这边也可以支持高并发。用户只用聚焦自身代码的实现使服务可以快速上线且当用户的调用量很大的时候这个架构也能很好的应对有效的应对波峰和波谷。 把才的场景轴象化、简单化后可以看到左边是COS存储桶我可以做上传删除等等右边可以和其他的产品或者服务做结合像自定义日志分析和消息队列做事件通知。 这里举例用户头像制作用户上传图片到COS触发SCF运行SCF对图片进行处理后发送到客户端并写入COS删除原图。假定我这边配置SCF内存128MB单词执行时间1秒平均每天被触发运行5万次。COS配置触发SCF运行用户上传到COS的平均文件大小1MB每天上传5万次被SCF处理后图片大小为100K。这样算出来SCF是这三部分的加和因为这里免费额度的原因所以这边资源使用费用是零相当于是免费在使用Serverless。这边调用次数的费用是0.69元每天触发调用5万次一个月的费用不到1块钱。另外一个费用是因为这边有外网出流量每次上传是多少GB然后乘以5万次再乘30天每GB0.8元算出来是144元。如果没有往客户端发流量所有的流量都在平台内部打转的话这个费用也是没有的相当用SCF的费用基本上不到两块钱。 COS的话这边也是把免费额度扣除掉之后每次用户上传存100K的图片加上读写IO算出来是一个月14.6。所以这边加起来一个月不到130块钱。这是一个实际应用场景里COS和SCF的价格举例。 这里我又列举了一些用户的实际案例这边因为没有拿到用户的授权所以没有把用户的名称放出来。这个案例是视频文件转码这边是用户视频文件上传调用腾讯云的视频解码服务再根据不同码率写到COSCOS最后会用CDN对视频文件做一个加速。这里所有的触发都在云上你不需要运维同时这边的服务也是非常的便宜。 这个是CDN自动刷新很多用户会用到COS和CDN把COS文件做CDN加速但是这里有一个问题每次文件更新都需要手动点击刷新现在就不用了上传到COS的文件自动触发SCFSCF调CDN的API接口实现自动刷新。 这个客户案例是做日志文件分析客户的点播平台每时每刻都在产生大量的日志怎样快速低成本的对这些日志进行统计分析筛选出最受欢迎的视频源点播峰值时间段等并展示出来成为客户面临的难题。 这个案例是一个在线视频教育的案例老师和学生会有视频课程它们会从视频课程抓取图像然后把这些图像上传到COS然后COS会触发SCF做一次分析把这个写到消息队列并通知客户自身的业务模块进行分析从而来判断老师和学生之间是否有敏感信息产生。 这是一个自动灾备的案例客户是荔枝微课用户在APP或者电脑端做文件上传文件上传以后需要同步到跨区域同跨帐号下的其他Bucket。 最后我说一下最佳实践。其实只要能为用户实际创造价值它就是一个最佳实践。这边我列举了几条主要是在使用COS和SCF过程中的注意事项。比如COS触发SCF的流程首先COS会把上传和删除事件写到自己的消息队列和云函数SCF消息队列做一个对接云函数消息队列会触发云函数执行每次的事件操作。所以这是异步调用。有同学会问这边是不是实时的如果正常情况下没有消息堆积的话是毫秒级。如果某一时刻有大量用户做上传视频或者删除动作的话可能会产生消息堆积。如果来不及消费可能在秒级触发SCF运行。 COS触发SCF只支持同地域配置。 COS支持前后缀过滤触发以及同一Bucket中多种事件类型触发SCF。 为了避免COS的事件生产投递出现错误COS针对每个Bucket的每个事件限制只能绑定一个可触发的函数。主要为了避免用户出现循环的调用触发错误。 目前单个云函数支持绑定2个COS触发器。 最后一个是列举了COS Bucket的消息格式会把什么样的信息发给SCF。SCF在这个事件里把消息拉出来。比如用户的APPID用户上传的文件名以及用户Bucket所在的地域这边都可以拿到。所以在SCF这边可以拿到用户上传到COS大部分的文件信息。 有同学问到传统开发模式和无服务器模式架构的区别或者说是用传统开发模式的优势或者两者之间的成本对比。这边可以看到对于传统架构设计比如买了云主机架构分层功能划分模块通信等等都需要考虑。用无服务器只需要对函数功能进行划分同时把一些具体的功能通过事件触发的形式去绑定到一起这边架构上会减少很多工作量。但是如果说这个逻辑或者服务计算是非常重的话其实还是用传统开发模式可能会更好一点。另外如果云主机使用效率在 70%以下的话其实SCF会便宜很多同时SCF可以省去很多运维和环境搭建的工作。 代码开发传统模式要考虑到容灾业务逻辑的对接。云函数只需要关心自己的业务代码把业务代码写好后配置相应的触发器这边就可以运行了。 代码调试登陆服务器使用熟悉的工具在本地调试。无服务器目前主要依赖日志调试。 发布部署云函数这边可能效率会更高一点但是差别不是很大。 QA Q我在更新我的模型文件的时候会不会对我其他的文件产生影响 A像对COS做热更新的时候在那个时刻会有影响但是在过程中没有影响。 QSCF到底是什么 A简单来说SCF就是一种计算资源。我们有时候会叫它FaaS。FaaS是一个概念SCF是一款产品。 本文PPT附件请点击原文下载。 问答Serverless如何删除一个函数相关阅读多个场景中的AI落地实践低于0.01%的极致Crash率是怎么做到的【每日课程推荐】新加坡南洋理工大学博士带你深度学习NLP技术 此文已由作者授权腾讯云社区发布更多原文请点击 搜索关注公众号「云加社区」第一时间获取技术干货关注后回复1024 送你一份技术课程大礼包 海量技术实践经验尽在云加社区 转载于:https://www.cnblogs.com/qcloud1001/p/9567170.html