一、本地开发环境(你电脑上装的)
| 类别 | 工具 | 用途 | 必装程度 |
|---|
| JDK | JDK 17 / 21(LTS) | 编译和运行Java代码 | ✅ 必装 |
| IDE | IntelliJ IDEA | 写代码、调试、重构 | ✅ 必装 |
| 构建工具 | Maven / Gradle | 依赖管理、打包 | ✅ 必装 |
| 版本控制 | Git + Git客户端 | 代码提交、分支管理 | ✅ 必装 |
| 本地数据库 | MySQL 8.0 / PostgreSQL | 开发调试用 | ✅ 必装 |
| 本地缓存 | Redis | 开发调试用 | ✅ 必装 |
| 本地消息队列 | RabbitMQ(可选) | 异步业务调试 | ⭐ 常装 |
| API测试 | Postman / Apifox | 接口自测 | ✅ 必装 |
| 数据库管理 | Navicat / DBeaver | 可视化操作数据库 | ✅ 必装 |
| 抓包工具 | Charles / Fiddler | 抓HTTP请求看参数 | ⭐ 常装 |
| 本地Nginx | Nginx(Windows版) | 模拟线上反向代理 | ⭐ 常装 |
| 文档工具 | Swagger / Knife4j | 接口文档自动生成 | ⭐ 常装 |
| 容器 | Docker Desktop | 本地跑中间件,环境一致 | ⭐ 强烈建议 |
二、服务器部署环境(应用真正跑的地方)
| 类别 | 工具 | 用途 | 单体项目 | 微服务 |
|---|
| 操作系统 | CentOS 7+ / Ubuntu 22+ / Alpine | 底层系统 | ✅ | ✅ |
| JDK/JRE | JDK 17 / 21(只装JRE也行) | 运行Jar包 | ✅ | ✅ |
| 应用框架 | Spring Boot + 内嵌Tomcat | 应用本体 | ✅ | ✅ |
| 数据库 | MySQL 8.0 / PostgreSQL | 数据持久化 | ✅ | ✅ |
| 缓存 | Redis | 性能支撑 | ✅ | ✅ |
| 消息队列 | RabbitMQ / Kafka | 异步解耦 | 按需 | ✅ 必装 |
| 反向代理 | Nginx | 统一入口、静态资源 | ✅ | ✅ |
| 网关 | Spring Cloud Gateway / Kong | 路由、限流、鉴权 | 可选 | ✅ 必装 |
| 容器化 | Docker + Docker Compose | 环境隔离、快速部署 | ✅ | ✅ |
| 容器编排 | Kubernetes (K8s) | 多服务管理、自动扩缩 | 可选 | ✅ 必装 |
| 配置中心 | Nacos / Apollo | 配置统一管理 | 可选 | ✅ 必装 |
| 注册中心 | Nacos / Consul | 服务发现 | 可选 | ✅ 必装 |
| 文件存储 | MinIO / OSS | 图片、文件上传 | 按需 | 按需 |
| 定时任务 | XXL-JOB / Elastic-Job | 定时调度 | 按需 | ✅ 常装 |
| 搜索引擎 | Elasticsearch | 全文检索 | 按需 | 按需 |
三、运维支撑环境(保障系统稳定运行)
| 类别 | 工具 | 用途 | 必装程度 |
|---|
| CI/CD | Jenkins / GitLab CI / GitHub Actions | 代码提交自动构建发布 | ✅ 强烈建议 |
| 容器镜像仓库 | Harbor / Docker Hub | 存Docker镜像 | ✅ 必装 |
| 日志收集 | ELK(Elasticsearch+Logstash+Kibana)或 Loki | 集中查日志 | ✅ 必装 |
| 监控告警 | Prometheus + Grafana | 看指标、收告警 | ✅ 必装 |
| 链路追踪 | SkyWalking / Zipkin | 查接口调用链路 | ⭐ 微服务必装 |
| 进程管理 | Supervisor / Systemd | 进程挂了自动拉起 | ✅ 必装 |
| 备份 | 定时备份脚本 + OSS/COS | 数据库、文件备份 | ✅ 必装 |
| 安全 | 防火墙(iptables/ufw)+ SSL证书 | 防攻击、HTTPS | ✅ 必装 |
| 负载均衡 | Nginx / LVS / 云SLB | 多机分流 | 按需 |
| 压测 | JMeter / Gatling / wrk | 上线前压测 | ⭐ 上线前必做 |
| 成本监控 | 云厂商控制台 / Grafana | 看花了多少钱 | ⭐ 建议装 |
一张图看清三层关系
| 本地开发 | 服务器部署 | 运维支撑 |
|---|
| 核心目标 | 能写、能调、能跑通 | 能对外提供服务 | 挂了能知道、能恢复 |
| 谁来管 | 开发者自己 | 运维/DevOps | 运维/SRE |
| 最小集合 | JDK+IDEA+MySQL+Redis+Git | JDK+MySQL+Redis+Nginx+Docker | 日志+监控+CI/CD |
| 最大集合 | 上面全部 | 上面全部 | 上面全部 |
实际建议:先把本地开发的最小集合跑通,再用 Docker Compose 在服务器上一键拉起部署环境,运维支撑环境等项目真要上线了再逐个加。别一上来就搞全套,维护成本会把你压垮。