您现在的位置是:主页 > 数据库技术 > 数据库技术

如何实现小程序的快速迭代

IDCBT2021-11-24服务器技术人已围观

简介如何实现小程序的快速迭代,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 『 快速迭代之痛:传统开发模式

如何实现小程序的快速迭代,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

『 快速迭代之痛:传统开发模式效率低下 』

在没有使用云开发之前,前端的数据依赖于后端,「数据读写」「文件上传」等功能都需要后端支持。多岗位开发在前期沟通、开发联调、同步测试等整个工作流程沟通上花的时间较多,开发周期就会花费较长的时间。

这种开发模式越是在大的团队里,效率就越低。

云开发出现后,团队开发模式发生了变化......

   

1. 节约人力成本

云开发让前端同学可以轻松实现数据库读写、文件上传等功能,因此,我们开始尝试让前端同学独立完成一些项目,像这种签到页面、10周年等小程序页面就是由前端直接完成。省去了沟通和联调的成本,工作效率上有了很大的提升。

「 原来需要2个人才能完成的工作,现在1个人就能完成了! 」

这是一部分独立服务的场景,有些时候我们的后端服务是需要同时支持多终端调用的,云开发跟自有服务器的使用并不冲突,他们可以互相补充,下面我们来看看另一种场景。

2. 节约计算资源成本

电商小程序各种拉新、促销活动少不了。活动期间的流量高峰如何应对,像我们的秒杀和免费领好物每次活动都是平时流量的好几倍。

如果是自有服务器就只能是通过增加服务器的方式来应对流量高峰了,这就需要投入大量的运维成本和服务器成本,活动结束后这些服务器就会闲置,造成资源浪费。其实我们可以借用云开发的「弹性伸缩」功能,使用云数函数和云数据库实现数据缓存。

首次请求时从自有服务器获取数据,然后存入云数据库。再次请求时就直接从云数据库获取数据。也可以给数据设置一个过期时间,过期后再次从自有服务器拉取最新数据更新到云数据库。云开发支持弹性伸缩,完全不用担心高并发的问题。在这里云开发可不只是省事,而且还帮我们省钱。

而且云函数还支持「定时触发」功能,运用好定时触发功能,你会发现在很多复杂的场景下,使用云开发可以轻松解决。

3. 节约数据聚合架构成本

电商小程序各种玩法多式多样,而且各类大促是一个接一个。每次大促都会以不同的方式实现页面数据展示。前端需要面临各种挑战,页面模块多接口请求次数多、接口之间互相依赖,数据之间相互关联。

像「品牌团」就需要先通过接口获取品牌列表、然后再通过商品接口来获取这个品牌的推荐商品。

像「唯品仓」专场就需要分别获取专场数据和用户关注数据。

这种场景我们称之为数据聚合,就是把多个接口的数据聚合在一起,然后再展示出来。

数据聚合可以前端做,这样比较灵活,但接口调用次数多,页面加载速度慢,影响用户体验。数据聚合也可以后端实现,前端调用聚合后的数据接口,前端调用接口次数减少了,但这样很不灵活,每次大促都需要后端开发新的接口。  

下面一起来看看我们是如何实现复杂场景下的数据聚合的。

这里我们还是使用云数据库来做缓存。但是不同的是我们用了2个云函数。

云函数A定时触发,负责从自有服务器的多个接口获取数据,按页面展示的数据格式做好聚合再存入数据库。

云函数B只管从云数据库读取数据返回给小程序即可。

这里为什么要用2个云函数呢?

主要是有以下2方面考虑,一是数据聚合时一般会请求多个接口,请求时间一般会较长,二是数据聚合一般需要做大量的逻辑处理,把数据读写函数分开能减化逻辑。

这样处理后复杂的逻辑就变简单了,每个环节各伺其职。在这个基础之上,我们对整个小程序的架构做了调整。

分层架构,在小程序和自有服务器之前增加了一层中间层,用来处理两端之间的数据差异。

这样分层之后整个架构就清晰多了,再复杂的业务也可以轻松处理,小程序端只需要关注数据展示和交互逻辑,后端只需要关注自己的服务,中间层做好各种数据处理,而且不用担心请求慢的问题。

看完上述内容,你们掌握如何实现小程序的快速迭代的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注IDCBT数据库频道,感谢各位的阅读!

标签:

很赞哦! ()

本栏推荐