云计算的兴起诞生一批技术名词,“边缘计算”就是其中之一。边缘计算似乎没有非常明确的边界限定,而只是将边缘端限定离数据源头最近的设备。


简单理解,边缘计算指数据不上传到服务器存储、计算,而是在手机、平板、电脑、车载设备、智能家居等终端设备收集、存储和计算,最后将计算结果上传服务器,合理利用终端设备的计算能力减轻服务器的负担,并且服务器不收集原始数据而只获取结果保证了用户隐私安全。
例如,不收集用户这一天干了什么,而只获取根据用户这一天干的事情计算出来的用户的特征,从而实现根据用户喜爱推荐广告、内容。

边缘计算与CDN有相似之处,但却又完全不同。CDN即内容分发网络,是依靠部署在各地的边缘服务器,如广州机房的服务器、深圳机房的服务器,通过负载均衡、内容分发、调度等功能模块,将可缓存的静态资源存储在边缘服务器上,提供就近访问服务,提高用户访问静态资源的响应速度。


今天跟大家分享的是如何使用Google云提供的CND服务。
Google Cloud CDN 架构图


使用Google Cloud CDN加速静态资源加载_java


(图片来源:https://cloud.google.com/cdn/docs/setting-up-cdn-with-external-origin?hl=zh_CN)


1、lCloud CND -> 负载均衡器 -> 部署在Google云虚拟机上的后端web服务;

2、lCloud CND -> 负载均衡器 -> Google云外部的后端web服务,例如部署在AWS上的web服务;

3、lCloud CND -> 负载均衡器 -> Google云存储服务;


使用后端存储分区设置 Cloud CDN



配置Cloud CDN流程如下:


1、创建存储分区;

2、创建负载均衡器,在创建负载均衡器过程中创建后端存储分区,映射到存储分区。



后端、前端、负载均衡器。前端配置请求资源的域名和端口等,后端处理请求。如果使用云存储服务存储静态资源,则需要在后端配置步骤创建一个后端存储分区,此后端存储分区与实际存储分区映射(Google Storage)。



(1)创建项目


登陆Google云,创建一个项目。


使用Google Cloud CDN加速静态资源加载_java_02


(2)创建 Cloud Storage 存储分区


例如,创建一个存储分区用于存储前端静态资源,存储分区的名称为srm-bucket-01。与AWS的S3、阿里云的OSS类似。可上传文件,并且可暴露公开访问。


登陆Google云平台,找到Storage服务,进入Storage服务页面,如下图所示。


使用Google Cloud CDN加速静态资源加载_java_03



点击创建存储分区将跳转到存储分区的创建页面,按提示步骤填写存储分区的配置。本例中,将存储分区的名称设置为”srm-bucket-01”,如下图所示。


使用Google Cloud CDN加速静态资源加载_java_04



选择数据存储的位置,支持单区域、多区域、跨两个区域,我们选择多区域,然后在位置下来框选择地理位置,例如us多区域,如下图所示。


使用Google Cloud CDN加速静态资源加载_java_05



接着选择存储类别。对于访问频繁并且存储周期短的静态资源,建议使用默认选型Standard。按需选择即可,如下图所示。





访问权限控制类别,一般我们会选择精细控制,在创建完存储分区后,再配置访问权限。如下图所示。



使用Google Cloud CDN加速静态资源加载_java_06



高级设置可配置上传至该存储分区的文件的保留期限,过期自动删除。此步骤也可以在配置创建完存储分区后再配置。例如,配置只保留1天,如下图所示。


使用Google Cloud CDN加速静态资源加载_java_07



创建成功后可在Storage首页看到该存储分区,点击存储分区的名称可查看存储分区详情、进入存储分区页面。如下图所示。



使用Google Cloud CDN加速静态资源加载_java_08


现在我们可以给存储分区创建文件夹、上传文件。


使用Google Cloud CDN加速静态资源加载_java_09


最终文件保存的位置就是我们访问文件的URL路径。




例如,创建一个front文件夹,在文件夹中上传一张图片,图片名为cloud-cdn-01.png,那么访问文件的路径就是:/front/cloud-cdn-01.png,当然,这是配置CDN后的访问方式。





使用Google Cloud CDN加速静态资源加载_java_10


在存储分区页面,在权限这个tag页下,可给这个存储分区配置访问权限,如下图所示。



使用Google Cloud CDN加速静态资源加载_java_11



如果文件是公开的,直接给文件添加一个名为“allUsers”的访问成员,并且角色选择Cloud Storage -> Storage Object Viewer即可。如下图所示。



使用Google Cloud CDN加速静态资源加载_java_12



现在查看存储分区中的文件,在公共访问权限列会显示一个警告,并且会给出一个公网可访问的URL,复制这个地址到浏览器访问就可以正常访问到该文件。


使用Google Cloud CDN加速静态资源加载_java_13


(3) 创建负载均衡器


找到网络服务,选择负载均衡,打开负载均衡页面,如下图所示。


使用Google Cloud CDN加速静态资源加载_java_14



在负载均衡页面点击创建一个负载均衡器,会弹出如下页面。我们选择创建http负载均衡器。



使用Google Cloud CDN加速静态资源加载_java_15


选择“从互联网到我的虚拟机”,然后点击继续。“仅在我的虚拟机之间”这种适用于内部微服务之间通信做负载均衡,但一般微服务项目的负载均衡都是选择在框架层实现,由服务消费端实现。



使用Google Cloud CDN加速静态资源加载_java_16


给http负载均衡器命个名,如下图所示。后端配置选择后端存储分区、创建后端存储分区。


使用Google Cloud CDN加速静态资源加载_java_17


使用Google Cloud CDN加速静态资源加载_java_18



给后端存储分区命名,然后选择前面我们创建的Storage存储分区,最后很重要的一步就是勾选启动云端CDN,如果这个步骤忘记了,那么得重新创建后端存储分区了。


使用Google Cloud CDN加速静态资源加载_java_19


下一步配置主机和路径规则,即请求如何映射到后端服务。由于是使用云存储,所以这里只需要选择刚刚创建的后端存储分区就可以了。



使用Google Cloud CDN加速静态资源加载_java_20


前端配置就是公开给外部访问的ip和端口,负载均衡器支持使用动态IP和静态IP。



如果是使用动态临时ip则只需要配置下端口,如果想使用静态ip则在ip地址下来选型选择“创建IP地址”。



可同时添加多个前端配置,协议可以选择http,也可以选择https,选择https需要配置ssl证书。





使用Google Cloud CDN加速静态资源加载_java_21


http负载均衡器创建成功后,可在Cloud CDN页面查看当前启用的CDN配置,负载均衡器与后端存储分区的映射。



使用Google Cloud CDN加速静态资源加载_java_22



点击“来源名称”跳转到详情页面可从详情页面获取动态IP以及端口,如下图所示。


使用Google Cloud CDN加速静态资源加载_java_23



假设后端存储分区有个一个文件“/front/cloud-cdn-o1.png”,现在可以使用“http://ip:port/front/cloud-cdn-o1.png”访问这个文件。


https://mp.weixin.qq.com/s/k2HHtRi0AX0_fKtTWHmvQQ