作者:MeshCloud脉时云架构师许多杰
引言
对于移动端应用如何及时、快速的检测和下载新版本,以下是我在google云上的实践。
整体架构
准备工作
1.在gcp控制台创建一个loadbalancing
2.LB后端配置使用存储桶并开启cdn
3.使用googlesdk编写更新文件脚本,同时设置该文件为no-store
实施步骤
1.创建loadbalancing,后端使用存储桶并开启cdn
2.使用googlesdk上传新版本安装包和索引文件,并设置索引文件不缓存,设置索引文件不缓存代码实例:
该索引文件中记录版本号信息,该文件不缓存可以保证用户获取新版本的时效性。
安装包通过cdn缓存使用户就近快速的下载安装包
验证
1.每次更新索引文件,从gcs上查看改文件metadate中Cache-Control值被设置为no-store,这样cdn就不会缓存该文件,保证用户获取最新版本更新。
2.更新gcs上的索引文件(每次里面的版本号变化的),通过浏览器访问索引文件,可以看到每次获取的都是新更新的版本号
扩展内容
1.在索引文件中可以记录版本文件的下载地址,供移动端下载更新。
2.上面是使用python设置索引文件不缓存的代码示例。如使用go语言,请参考以下代码: