【玩转腾讯云】PAI助力迎祥花园线上开盘

2020-04-02 11:02:14 浏览数 (1)

项目背景

由于受本次新冠疫情影响,积极响应国家号召,自觉尽量减少外出及避免人群聚集,原本定于2月1日的线下开盘临时取消。但考虑到本地客户购房需求及经过客户多次要求,经慎重考虑,决定采取线上开盘的形式,紧急开发在线开盘小程序,既满足客户的购房需求,又能避免新冠疫情的影响。

项目已上线项目已上线

总述

项目最终通过微信小程序进行开发完成,通过租用腾讯云PAI服务器,自动绑定已经备案的域名。服务器需要安装docker环境,通过docker-compose进行启动,自动启动需要使用.pai.yml这个文件进行动态服务拉取自动对服务进行启动停止和重启操作。

总的来说,腾讯云PAI服务器给我们开发者带来了很多硬件上的帮助,这些无关开发,然而很大程度上减少开发者们烦恼的方面,比如小程序开发域名需备案:)

诚然,这款服务器还是有相当一部分的坑存在,需要可能也是接下来PAI的优化方向

部署脚本

由于PAI服务器没有给我们提供相关的shell脚本,这个时候需要我们自己创建相关的文件,阅读了官方提供的脚本

官方部署脚本demo官方部署脚本demo

大致猜得出来要怎么使用了,可惜无奈的是我们创建的过程,当时我是通过touch创建的,这里是没有执行权限的

创建脚本创建脚本

导致启动一直是失败的,当时发起工单找了客服,都很懵,没想通原因

启动失败启动失败

直到最后发现,原来在忘了添加执行权限,添加了之后,发现就可以执行成功了,当时跟客服两个人都在电话里头笑了半天

添加执行权限添加执行权限

不过最后还是无法执行成功,脚本是写对了,然而环境问题导致我们的Sping-boot项目启动失败,因为使用的是Gradle构建工具,这些源文件都是可以提供的,可惜的是安装完成之后还是启动失败,无奈只好通过docker,之后安装docker-compose

安装docker安装docker

之后使用腾讯云容器服务提供的docker私人容器仓库的服务,拉取镜像就很快了,之后发布成功,提供的仓库也够大,1k镜像,够我玩好些时间,期间我还发现,其实单个库也就100个镜像的上限,居然也被我摸到边缘了23333333

本项目镜像仓库本项目镜像仓库

成功之后,在跟前后端交互的过程中持续的宕机,CPU使用率时常达到100%,经常性的服务进程被杀死,附图是在后台监控中发现的,当时的配置是1c2g,一直服务被杀死,要知道当时我们还在调试中,用户量也就2而已,作为后台开发也是无奈到不行,然后就开始扩容了

后台监测后台监测

这里作为开发者,腾讯云的监测方能不能检测到我们的服务过载,就来个微信提醒什么的?建议我们扩容之类,一开始没经验还在猜测自己代码哪里出问题了,讲道理腾讯云家大业大,出问题概率不大,是我自己有问题,先反省自己,最后才发现资源不足。

瞬间峰值1瞬间峰值1
瞬间峰值2瞬间峰值2

建议

总的来说,瑕不掩瑜,腾讯云客服的服务态度可圈可点,在这个项目的开发过程中,我们时常开发到凌晨2、3点,出现问题,客服们还能保持在10min内响应我们的问题,真的很服气了,以下是我在开发过程中觉得可以优化的一些建议:

  1. 由于开发者需要各种各样的环境,建议安装docker环境还有docker-compose这样提高了我们部署的效率
  2. 基于1,有了docker环境我们对应的.pai.yml这个文件书写起来就简单很多了,规定docker-compose.yml基础文件,之后就是使用shell, docker-compose up等等
  3. 对于.pai.yml这个启动过程,其实PAI团队可以写一个类似README的文件,把相关的提示都写在里面,开发者们就没必要跑去你们的官方github阅读代码,参悟你们的开发思想,另外这个地方一定要提醒开发者*.sh这些文件都需要chmod x *.sh添加执行权限
  4. 对于部分应用我们开发者不选择开源,然而这个时候无法通过管理后台拉取代码,其实解决这个问题有三种办法
    1. 强制要求开发者开源代码
    2. 后台发布管理,增加一个表单,让我们输入github的帐密,用来获得私人项目的部署权利项目发布失败项目发布失败
    3. 要求开发者代码发布在腾讯代码仓库工蜂,这个时候你们可以通过策略,即使是私人项目也可以通过你们的内部线路获得代码
    4. 通过docker,这个也是我的部署方法,基于2,然后docker打包pull到腾讯云的容器服务,提供的私人仓库,另外配置启动服务的项目,这个时候几行代码而已,pulish也无所谓发布成功发布成功
  5. 通过监控功能,提供带宽扩容改弹性等等、服务器类型的优化建议
  6. 购买服务器的时候,能不能出个大概的计算公式,如大概多少多少用户量,多少多少交互量要多少多少的配置 等等

尾记

在我们测试运行的过程中还发现有人在用扫描器扫我们,活捉个正着,这就很有趣了,反正不知道是不是腾讯云安全部的测试咧,反正懒得去校验:】

扫描截图扫描截图

0 人点赞