卢萌凯:毕业于东南大学,曾就职于华为,熟悉云行业解决方案。目前负责腾讯云中间件产品及无服务器云函数的技术架构打造,帮助用户完成方案设计,对云端存储产品的使用难点有独到见解。
大家好。我是腾讯云中间件及无服务器云函数架构师。我今天介绍分四部分:第一,对象存储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直接写入COS,COS和大数据对接来做用户行为的分析。
下面是数据接口,这边是COS底层的一些接入方法。最底层是分布式数据存储,我们可以通过API或者通过HTTP REST来访问接口。
这里给了一个简单的应用流程,最左边可以看到用WEB服务,或者APP终端,通过运营商网络接入到对象存储,做一些简单的上传和下载动作;同时,腾讯云上的COS可以做CDN分发,或者做格式转换,或者对接到云上的云主机或者私有的客户自己的云服务,做一整条流程的打通。
把刚才的应用案例再细化一下的话,这边给出了一个用户在实际使用过程当中的架构图。首先,最左边的用户可以通过调API接口,或者自己调云上封装好的sdk,在自己代码里去读写COS。或者通过控制台很方便的上传和下载一些文件。这边是腾讯云上COS云存储,这里一共给了三种应用:一个是标准存储,一个是低频存储,还有近线存储。低频存储是用于读写数据频率比较低的场景,比如说是网盘的运用。近线存储主要用于归档数据,它可能是一些冷数据,不经常用,可以用近线存储,它也可以提供高可靠的数据保存。同时,它的成本也是非常低的。
同时对象存储可以对接云上其他的服务,并针对不同的用户可以设置不同的访问权限。我这里放了一个视频对应用场景做一个总结和发散。
我这里写了一个简单的Demo,主要做人脸识别,首先我会创建两个存储桶,这两个存储桶用来上传用户的信息,触发SCF调用,其中一个做用户特征的提取。第二个存储筒上传第二张用户的图像,和第一个比对,查看是否可以查到这个用户信息。SCF里直接调AI的接口,大概有四、五行代码就能实现创建用户的信息,再加一行代码就能比对用户信息。这里用SCF日志展示输出。这个流程图是这样的,首先我在COS Bucket1里上传一张图片,看他是否是一个新用户,不是的话就创建一个特征,如果是,就把这个人像添加到已创建的用户特征。另外一个Bucket叫这个名字,这个也会触发相同的SCF,用于查看用户的特征,如果查到的话这个用户可以获取权限;如果查不到就会返回到无权限。