开发 / 测试 / 预发 / 生产 环境详解

一、先一句话记死

  • dev:开发环境 → 程序员日常写代码调试
  • staging:预发/仿真环境 → 和生产一模一样,上线前最后验收
  • prod:生产环境 → 正式对外给用户用的线上环境

二、逐个详细解释

1. dev 开发环境

  • 人群:开发程序员
  • 用途:日常开发、联调、自测、改Bug
  • 特点:
    • 代码最新、经常迭代重启
    • 配置随意、日志开调试级别
    • 性能、稳定性要求低
  • 对应 K8s:资源低配、副本数1、镜像常更新

2. staging 预发/仿真环境(也叫 test/uat)

很多公司也叫:UAT 验收环境、测试环境、仿真环境

  • 人群:测试、产品、业务验收
  • 用途:上线前全功能测试、业务验收、模拟真实流量
  • 特点:
    • 硬件、配置、中间件、版本 和 prod 完全一致
    • 仿真测试数据,不用真实用户数据
    • 不对外网开放,只内部访问
  • 作用:避免直接把有问题代码扔到生产,先在 staging 跑一遍

3. prod 生产环境

  • 人群:真实用户、外部客户
  • 用途:正式对外提供服务
  • 特点:
    • 高可用、多副本、容灾、高性能
    • 严禁随意改配置、随意重启
    • 数据都是真实业务数据,不能随便删改
    • 严格灰度发布、变更审批

三、标准研发流程

开发写完代码 → 打包镜像
→ 部署 dev 自测联调
→ 部署 staging 测试验收
→ 没问题再灰度上线 prod

四、K8s / Kustomize 里为什么要分这三个?

  • 一套基础 YAML(base)
  • 只在 overlay 里改差异
    • dev:副本1、资源低配、日志DEBUG、连接测试库
    • staging:副本2、配置同生产、仿真数据库
    • prod:多副本、资源高配、日志INFO、真实业务库

五、通俗类比

  • dev:自家厨房,随便折腾试菜
  • staging:样板间试吃,摆盘、用料和正式门店一模一样,请人试吃验收
  • prod:正式营业门店,对外卖菜,不能翻车

六、补充常见环境缩写

  • local:本地本机环境
  • test:测试环境(有的公司把 test 当 staging 用)
  • uat:用户验收环境 = staging
  • sandbox:沙箱环境,给第三方/合作方联调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值