软件系统测试和部署流程
最近虽然和老板吵了一架,但是也让我就系统开发部署问题进行了深入的思考,作为一个独立的开发者,要负责前端,后端,项目测试,项目部署,项目维护,项目升级等等一系列的工作,如何在保证最少错误率的情况下,能如期交付软件,如何避免这种纠缠不清的推诿扯皮形式的讨论,有下面的几个主要问题,也不仅仅限于下面的问题。
- 软件系统如何开发才能保证bug变少
- 软件系统如何进行有效测试才能保证测试结果的有效性
- 软件系统如何进行部署才能变得高可用
目前我搭建的是这样的一个软件架构,系统分为测试版和正式版,正式版和测试版分别部署了4台服务器,在阿里云上,有两台服务器,一台部署了正式版,一台部署了测试版,在公司内网中一台服务器上,安装了Hyper-V,并在上面安装了六台虚拟机,其中三台作为正式机,三台作为测试机。这样将阿里云中的正式版服务器和内网三台正式机使用openvpn组成局域网,并创建了redis集群,在案例云正式服务上,使用nginx做了负载ip_hash的负载均衡,这样四台服务器就组成了一个集群。同样的道理,案例云测试服务器和内网的三台测试虚拟机组成了集群。
1.复杂系统如何在不停机升级同时保持稳定?你必须考虑以下几个点… 咸鱼升级和改造的过程