最近小程序的云开发已经不太满足我的需求了
背景
最近发现小程序的云开发有些限制我的发挥了,毕竟云开发的资源针对的是单个小程序,后端的数据就像一座座孤岛。
虽然之前讨巧写了个「巧用云开发,实现多个小程序访问同一个云数据库」。但其实还是限制比较多,无法扩展出更多有意思的功能。
所以花了点时间去了解了下腾讯云的产品,准备少量投入,再结合小程序的云开发免费资源搞点有意思的事情。
说明
其实也是发挥了自己多年后端开发的经验,利用目前现有资源,进行简单的整合,大致可以看下如下架构图:
截图1
简单说明,最底层就是我们的小程序云开发资源啦,没记错的话,每个人可以申请5个小程序把「赶紧申请满,后面可能会减少,像公众号一样」。
有了小程序其实就有了对应的基础版云开发资源,抛开小程序本身,其实我可以把这10个免费的云开发资源作为我的后端资源「每个小程序可以创建两个云环境」。
尤其是云数据库,相当于我有10个免费的云数据库啦,通过简单的分配和合理利用,是不是觉得很有利用价值。
当然,如果要通过小程序的HTTP API
方式去访问小程序的云资源,就需要解决accessToken
的问题,所以你需要一个统一管理这些小程序资源的数据库来去管理它们。比如你可以写个定时任务去定时通过appId和secretId去获取accessToken并保存在某个地方。这样你在访问云资源时就可以畅通无阻啦。
在资源的上层,打算使用腾讯云提供的云函数(SCF)。
截图2
本质和小程序的云函数差不多,其实就是腾讯云提供了容器让你部署方法,你无需再购买自己的服务器,无需关心底层资源,也无需登录服务器和优化服务器,只需关注最核心的代码片段,即可跳过复杂的、繁琐的基本工作。
目前云函数支持Python
,Node.js
,Golang
,PHP
和Java
,看你擅长什么用什么,比较方便。
在云函数的上层,是腾讯云的API网关,可以通过简单的配置,将云函数暴露成HTTP API,这样前端就可以调用了。
截图3
通过这些资源的整合,我就可以提供出整套的数据服务给到任何一方前端。这样玩起来才比较有意思。
需要哪些资源
当然,要想玩起来,也不是免费的,还是需要少量投入的「金钱方面」。但相对来说整体投入不大。
目前我使用的都是腾讯云「毕竟小程序是腾讯系的」,当然你也可以用阿里云,华为云等等,但最好还是使用大公司的,有保障点。
这里整理一份用到的服务清单:
- 小程序及小程序云开发资源(
免费
) - 腾讯云云函数(
按使用量收费
) - 腾讯云API网关(
按使用量收费
) - 云数据库Mysql(有点小贵),我买了一台云服务器自己安装了Mysql(
收费
) - 域名(可选,API网关会分配一个二级域名,就是有点长)
- 腾讯云私有网络(
免费
)
总结
想玩玩全栈开发的,可以适当了解下大公司的云服务,并少量投入达到学习的目的。
后续也会持续更新我在实战过程中的一些经验和踩坑记录。