今天开会讨论了这个问题。 预上线的意义我理解是作为一个模拟线上的环境,应该近可能的接近线上环境。 所以肯定是越接近线上越好吧,但是昨天开发的意思是你导一次就已经模拟线上了,之后就不用导了。 我觉得也有道理,但是这样的模拟程度肯定跟每次都导有差距吧。 最后想到一个折中的方案:数据结构有较大改动时导入一版,平时就不导入线上数据了。 大家的预上线环境是多久同步一次线上数据呢?
折中方案 有个问题就是 怎么定义数据结构较大改动?
先把数据分类,其实有些导不导都没啥必要,有些又要脱敏,有些可能必须得没版本更新。不能一概而论。
其实可以将预发布环境做成线上环境,然后通过一些调度方案,将真实用户不调度到该环境,或者将少量用户调度到该环境。这样基本上可以不用管数据问题了。
我们预上线环境就是用的线上库
预上线很多都是用线上库的,但是有时候也给测试带来不便的时候,比如跑定时任务,刷数据,这块预上线环境就不好操作了,有什么可替代的办法么
就我个人理解来看,预发布环境如果不能将真实用户实际产生的数据与流量引入并完成动作,那么预发布约等于额外的一套测试环境。我更看好实际线上环境的灰度发布,但后端服务的灰度发布太难太复杂,一直困扰着我、同组测试小伙伴、以及测试 TL,目前暂时无解(我们是微服务分布式部署)。
没必要
现在同样面临后端服务的预发布环境,请问你这边的公司后面推进的如何?
无解,就不搞了,换个思路做好现网发布的老功能自动化、日常拨测、性能监控