[size=medium][color=brown][b]一、 一般开发测试线上环境结构:[/b][/color][/size]
[b][color=indigo]多套开发环境 ----> 多套测试环境 ----> 多套预发布环境 ----> 线上环境[/color][/b]
[size=medium][color=brown][b]二、 开发环境常见问题:[/b][/color][/size]
[color=indigo][b]1. 开发环境里面的代码、配置、表结构、不能及时和线上环境同步
2. 随着公司规模扩大,SOA服务化导致的应用越来越多,一套环境里面不足以容纳所有应用,内存和cpu不够用
3. 开发环境对应的数据库,随着开发过程,存在改局部数据测试,久而久之,数据库会不可用,越来越难以维护
4. 服务经常莫名挂掉,直接的循环依赖,导致测试一个问题,要打通关[/b][/color]
[size=medium][color=brown][b]三、解决方案:[/b][/color][/size]
[color=indigo][b]1. 数据库镜像定期备份,每天|每周|每月
2. 数据库初始化功能,丰富的创建账号,基础标的数据脚本等工具
3. 稳定的stg环境,测试环境小型化,每个测试环境独立版本引用stg环境,用组的概念防止扰乱stg环境
4. CI工具,方便申请机器、和部署新环境、自动部署等功能[/b][/color]
[size=medium][color=brown][b]四、需要的技术[/b][/color][/size]
[color=indigo][b]1. KVM虚拟化等工具
2. nginx反向代理等工具
3. dubbo服务治理等工具
4. docker等容器工具
5. CI等运维工具
6. zabbix等环境监控工具
7. 最重要的:开发规范、开发人员的培训、开发人员的综合素质[/b][/color]
[b][color=indigo]多套开发环境 ----> 多套测试环境 ----> 多套预发布环境 ----> 线上环境[/color][/b]
[size=medium][color=brown][b]二、 开发环境常见问题:[/b][/color][/size]
[color=indigo][b]1. 开发环境里面的代码、配置、表结构、不能及时和线上环境同步
2. 随着公司规模扩大,SOA服务化导致的应用越来越多,一套环境里面不足以容纳所有应用,内存和cpu不够用
3. 开发环境对应的数据库,随着开发过程,存在改局部数据测试,久而久之,数据库会不可用,越来越难以维护
4. 服务经常莫名挂掉,直接的循环依赖,导致测试一个问题,要打通关[/b][/color]
[size=medium][color=brown][b]三、解决方案:[/b][/color][/size]
[color=indigo][b]1. 数据库镜像定期备份,每天|每周|每月
2. 数据库初始化功能,丰富的创建账号,基础标的数据脚本等工具
3. 稳定的stg环境,测试环境小型化,每个测试环境独立版本引用stg环境,用组的概念防止扰乱stg环境
4. CI工具,方便申请机器、和部署新环境、自动部署等功能[/b][/color]
[size=medium][color=brown][b]四、需要的技术[/b][/color][/size]
[color=indigo][b]1. KVM虚拟化等工具
2. nginx反向代理等工具
3. dubbo服务治理等工具
4. docker等容器工具
5. CI等运维工具
6. zabbix等环境监控工具
7. 最重要的:开发规范、开发人员的培训、开发人员的综合素质[/b][/color]