应用配置热更新不是什么新鲜事,但是基于云开发的实践又是怎样的呢?
腾讯出行插件
腾讯出行插件,是为腾讯乘车码用户提供实时公交,线路规划,地铁图等便捷出行的服务。
频繁的数据变更
乘车码目前覆盖了数十个城市, 每天,每个城市都有一些数据的变更需求, 比如线路等 。虽然每个城市的变更都不多,但全国数十个城市累计下来,每天还是会有不少数据需要变更。而这些变更,从产品到设计,最终会流通到开发团队,由开发团队进行代码层面到配置更改。
一般情况下,一个数据更新需求,大致需要走完这样一个流程:
所以,看似简单的需求,但算上应用开发的时间、应用维护的成本、开发团队的其他工作、微信的审核时长等因素,小程序开发的迭代并没有想象中那么快,正常情况下迭代一个版本需要 1 ~ 3 天的时间。
可是,全国线路变更必须尽快上线,而且每天都会有数据的变更。这些高频大量的数据变更需求,给开发团队带来了巨大的考验:如何花最少的时间,确保线路数据部署上线?
面临挑战的开发团队想到了采用热更新来解决这个问题。
一般来说,在现有的后台配置热更新等相关内容,也会花费大量的时间和精力,而且还需要进行需求的排期。有没有别的办法来实现应用配置热更新呢?
基于云开发的应用配置热更新
在这样的情况下,开发团队了解到了云开发,云开发提供的小程序端直连数据库,以及方便易用的管理控制台,非常适合配置的快速变更与业务侧的快速拉取,所以我们决定使用云开发来完成应用配置的热更新。
开发团队将涉及到线路、需要变更的配置写入到云开发的数据库中,使用云开发的数据库来进行配置的存储,这样就可以在小程序启动时,调用云开发的云数据库,查询配置信息,并分发到小程序中。云开发提供的高性能数据库确保了数据的及时下发和使用,帮助开发团队完成配置的分发需求。
得益于云开发数据库本身提供的配置界面,开发团队快速地完成配置变更,从而满足产品需求,完成快速的配置更新和迭代。当有新的变更请求提供给开发团队时,开发团队最快可以在0.5小时内完成配置的更新及下发,大大的提升了数据的准确性。
具体的业务我不清楚,但是我有个疑惑,就是有了数据更新,不是在服务端做数据更新吗?为什么有了数据变更后没有经过服务端,而是经过前端去更改数据呢?数据是在前端页面中固定死的?