首先说背景,「我和你拼了」微信小程序是应某小朋友的求助作为后端支撑合作开发的结晶(产物)。
【我和你拼了】是作为豆瓣拼组的非官方小程序出来的,目的也很纯粹,就是单纯让拼组的姐妹有个方便的搜索和查看历史的一些好价物品,纯属为爱发电,除人工以外,还倒贴了服务器与cdn与存储的费用。
最开始的1.0版本,是小朋友自己用的后端用的腾讯云开发,当时作为玩票性质的,主要是小朋友自己开发为主,我作为辅助调下数据和逻辑,最终成功上线。
体验一般,数据来源是直接导的拼组一个姐妹录的excel,因为没有太多数据,甚至没有分页。
然后小朋友发到了拼组,拼组姐妹出奇的给力,帖子很快成为了加精和热贴,这充分说明了好的文案与运营的重要性,随之而来的是一天内居然有上万的UV,此时不用担心后端,因为采用的是腾讯云开发serveless,只需要加钱就能稳定的运行,世界加钱可及,此言得之。
免费的cdn额度很快被用完,因为是小程序的玩票性质就决定了它本身不会有太多功能,首页的swiper没有任何页面跳转逻辑,而恰恰是正是由于它的图片资源,动态从cdn加载很快就耗光了免费的额度。基本是首页的表情包加载把流量跑完的,因为没有做任何跳转和功能需求,更合适的方式应该是将图片资源放在本地。
第一版试水的可观流量作为正反馈激发了小朋友做第二版的信心,于是那天小朋友画了一个很大的蓝图(草图):
说这是她要做的,鉴于serverless的好吃难消化(贵),同时为了以后做大做强后方便数据迁移,决定不再用腾讯云开发,而我来负责接口。
后端技术栈选用世界上最好的语言php,数据库mysql,缓存用redis,由于我服务器是在腾讯云上,所以存储会放在腾讯云cos,因为服务器是腾讯云学生机1m的小水管,怕再次因为并发导致服务器瘫痪,前期数据不多,但是预计访问量大,少量的数据延迟是可以的,所以决定采用整站腾讯云cdn,cdn参数选项作过滤,而首页的swiper现在已经有了相应的页面跳转,但是目前还没计划具体放什么数据,所以不能放在本地,而是放在了七牛云的cdn上(七牛云有免费的10g)。列表和详情数据都会加10分钟的redis缓存,考虑到以后的用户提交数据的可扩展性,会在首页获取用户的openId并写在服务端的user表,在用户提交数据的时候将openid同时带过来,提交时会做合法性校验,用local storage
写在本地,如果没有值则再次请求,这样做是为了防止每次用户进来都调用把服务器带宽跑满。
作为个人开发者,当然会更考虑资源成本的问题,预计腾讯云10g的cdn跑接口的话绰绰有余,于是把图片放在了七牛云上,跑完了免费的10g差不多大流量也就过了,即使没过,也能更好的换别的图床而不会把接口的cdn跑完,后来用了两天,就买了腾讯云的cdn流量包就把图片也放过到腾讯云cos里面去了。
七牛云cdn数据:
接口cdn的数据:
小程序11号下午提交审核并通过,小朋友提前准备好帖子,选择吉时下午5点55分把帖子发出去,别问为什么,问就是小朋友喜欢五月天,服务器开始迎接第一波流量的考验。
如图中看出来,指标都很平稳,服务也始终没有宕机。
附上线后小程序的访问数据:
我的博客即将同步至腾讯云 社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3u13diri2by8k