1. 为什么选择这套技术栈?
这套组合拳在中小型互联网项目中几乎成了标配。Docker 提供了环境隔离和快速部署能力,Redis 作为高性能缓存解决高并发场景下的数据读取瓶颈,SpringBoot 简化了后端服务开发,Nginx 则承担着流量入口和负载均衡的重任。
我在三个不同规模的项目中验证过这个架构:
- 电商秒杀系统(日均 50 万 PV)
- 在线教育平台(峰值 3000 并发)
- IoT 数据中台(每秒 2 万+ 设备消息)
实测下来,这套架构在 1C2G 的云服务器上就能支撑日均 100 万 PV 的访问量。特别是 Docker 化部署后,从代码提交到生产环境上线只需 7 分钟(传统方式至少 2 小时)。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与工具选型
2.1 宿主机环境配置
推荐使用 Ubuntu 20.04 LTS,这是目前最稳定的生产环境选择。关键配置项:
bash复制# 关闭 swap(Redis 性能杀手)
sudo swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab
# 调整内核参数
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
echo "net.core.somaxconn = 1024" >> /etc/sysctl.conf
sysctl -p
特别注意:如果使用 Windows 开发环境,WSL2 的虚拟化问题会导致 Docker 启动失败。错误提示 "virtualisation support wasn't detected" 时:
- 检查 BIOS 中开启 VT-x/AMD-V
- 以管理员身份运行:
bcdedit /set hypervisorlaunchtype auto- 重启后执行
wsl --update
2.2 Docker 安装与优化
使用国内镜像源加速安装:
bash复制curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
配置 Docker 镜像加速(在 /etc/docker/daemon.json):
json复制{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
重启服务后验证:
bash复制sudo systemctl restart docker
docker info | grep -i mirror
3. Redis 容器化部署实战
3.1 单节点部署
使用官方镜像启动 Redis:
bash复制docker run -d --name redis-server \
-p 6379:6379 \
-v /data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /data/redis/data:/data \
redis:6.2-alpine \
redis-server /usr/local/etc/redis/redis.conf
关键配置项(redis.conf):
conf复制# 绑定所有网络接口
bind 0.0.0.0
# 启用持久化
appendonly yes
appendfilename "appendonly.aof"
# 内存策略(根据实际情况调整)
maxmemory 1gb
maxmemory-policy allkeys-lru
3.2 主从集群搭建
创建自定义网络:
bash复制docker network create redis-net
启动主节点:
bash复制docker run -d --name redis-master \
--net redis-net \
