实际工作中的各种环境总结

一、前言

平日里会遇到各种各样的环境,比如线下环境、线上环境、生产(prod)环境、预发(pre)环境、dev环境,sit环境、stable环境…等等,对于刚刚入职的小白来说根本不懂这些环境都是什么?有什么作用?本文旨在帮助大家快速了解各种环境。

二、环境申请

所谓的环境申请,是在原有就集群中申请虚拟机,用于部署项目分支。

通常在联调前,以RLP联调为例,AC与钱包渠道一起测试,需要与测试共同申请一套稳定的环境,通过固定的地址(LINKE_EI61667720_8895)传递业务信息,与测试共用一套DB。

申请环境可以理解为为每一个业务模块(iopengw, iguapcenter, igadaptor, igpayrouter)申请了一个确定的机器,用于项目的联调测试等。

三、环境分类

大方向说,我们平时接触的环境可以分为线上环境和线下环境。

线上环境,指的是真实客户使用的环境,主要包括预发(pre)环境、灰度(grey)环境、生产(prod)环境。

线下环境,除线上环境以外的环境统称为线下环境,主要包括开发(dev)环境、集成测试(sit)环境。

主要目的:通过线下环境完成各种测试,确保产品上线前无故障运行。

四、各种环境作用

开发 (dev)环境

日常研发环境,通常部署了开发分支的svn/git代码,在代码合并trunk前用于调试,一般随着迭代周期申请临时开发机,完成周期迭代后会回收,一个应用可以有多台机器。

stable环境

一套稳定的dev环境,部署了与当前线上稳定运行代码一致的trunk流,用于提供dev环境的公共服务(比如dev环境的某台机器宕掉就会使用stable环境下的机器替代),各应用一台机器。

注:dev环境与stable环境同DB,并且服务注册中心也是同一套。

集成测试(sit)环境

一套部署了最新trunk或某个迭代分支的代码(未发布到线上)的环境,用于集成测试,测试通过后代码上预发,各应用一台机器。 有独立DB

预发(pre)环境

集成测试通过后,代码会推进部署到预发环境服务器,用于上线前的验证测试 与prod共享DB

灰度(grey)环境

预发环境验证完毕后,会先挑选5%左右的beta用户在迭代分支上推进新的代码,展开小规模的线上测试验证,为了确保产品上线后无故障。 与prod共享DB

生产(prod)环境

线上环境,用户真实使用的环境,需要严格保证其安全和稳定。 有独立DB

你可能感兴趣的:(实际工作中的各种环境总结)