网络拓扑图
本文档展示 SurveyKing Pro 问卷调研系统的网络架构和组件部署拓扑图,帮助理解系统的网络结构和数据流向。
🏗️ 系统架构概览
SurveyKing Pro 采用单体模块化架构,支持多种部署方式:
🎯 核心特性
- ✅ 单体模块化:便于部署和维护,支持水平扩展
- ✅ 无状态应用:状态存储在 Redis,支持负载均衡
- ✅ 多部署模式:单机部署、集群部署、容器化部署
- ✅ 高可用设计:支持 Nginx 负载均衡,MySQL 主从复制
- ✅ 安全可靠:HTTPS 加密,防火墙保护,数据备份
🔧 技术栈
- 前端代理: Nginx
- 应用服务: Spring Boot 3.x
- 数据库: MySQL 8.0
- 缓存/消息队列: Redis
- 文件存储: 支持本地存储、S3 协议存储
- 容器化: Docker、Kubernetes
🎨 部署架构图
基于 SurveyKing Pro 的技术特点,提供以下三种主要的部署架构:
🏠 单机部署架构
适用于小规模用户、开发测试环境或初期部署。
🏢 集群部署架构
适用于生产环境,支持高可用和负载均衡。
🐳 容器化部署架构
适用于云原生环境,支持 Docker 和 Kubernetes。
🎯 架构对比分析
部署方式对比
特性 | 单机部署 | 集群部署 | 容器化部署 |
---|---|---|---|
复杂度 | 简单 | 中等 | 复杂 |
成本 | 低 | 中等 | 高 |
可用性 | 一般 | 高 | 很高 |
扩展性 | 有限 | 良好 | 优秀 |
维护难度 | 低 | 中等 | 高 |
适用场景 | 小规模、测试 | 生产环境 | 大规模、云原生 |
资源配置建议
单机部署
- CPU: 4 核心以上
- 内存: 8GB 以上
- 存储: 100GB 以上 SSD
- 网络: 10Mbps 以上
集群部署
- Nginx 服务器: 2 核心、4GB 内存
- 应用服务器: 4 核心、8GB 内存(每台)
- 数据库服务器: 8 核心、16GB 内存
- 存储: 500GB 以上 SSD
容器化部署
- Kubernetes 节点: 8 核心、16GB 内存(每个节点)
- 存储: 分布式存储,1TB 以上
- 网络: 高速网络,支持容器网络
🎯 生产环境推荐架构
基于 SurveyKing Pro 的实际部署需求,以下是推荐的生产环境架构:
🏭 标准生产环境架构
🔌 网络端口和协议说明
连接 | 协议 | 端口 | 说明 |
---|---|---|---|
用户 → CDN | HTTPS | 443 | 用户通过域名 HTTPS 访问 |
CDN → WAF | HTTPS | 443 | CDN 回源到 WAF |
WAF → 负载均衡器 | HTTPS | 443 | WAF 转发到负载均衡器 |
负载均衡器 → Nginx | HTTPS | 443 | 负载均衡到 Nginx 服务器 |
Nginx → 应用服务器 | HTTP | 48080 | 反向代理到应用服务 |
应用服务器 → MySQL | TCP | 3306 | 数据库连接 |
应用服务 器 → Redis | TCP | 6379 | 缓存和消息队列连接 |
MySQL 主库 → 从库 | TCP | 3306 | 主从复制 |
管理员 → VPN | UDP | 1194 | VPN 连接 |
VPN → 堡垒机 | SSH | 22 | 通过堡垒机管理 |
堡垒机 → 各服务器 | SSH | 22 | 服务器管理和维护 |
监控系统 → 各服务器 | HTTP | 9100 | Prometheus 监控指标收集 |
日志系统 → 各服务器 | TCP | 5044 | Logstash 日志收集 |
应用服务器 → SMTP | TCP | 25 | 邮件发送服务 |
应用服务器 → SMS | HTTPS | 443 | 短信发送服务 |
🖥️ 服务器配置详情
服务器类型 | 数量 | 规格建议 | 主要组件 | 功能说明 |
---|---|---|---|---|
负载均衡器 | 2 台 | 4 核心、8GB 内存 | SLB/F5/HAProxy | 四层负载均衡,高可用 |
Nginx 服务器 | 2 台 | 4 核心、8GB 内存 | Nginx | 七层负载均衡、静态文件服务 |
应用服务器 | 4 台 | 8 核心、16GB 内存 | Spring Boot 应用 | 业务逻辑处理、API 服务 |
MySQL 主库 | 1 台 | 16 核心、32GB 内存 | MySQL 8.0 | 数据存储,主写 |
MySQL 从库 | 2 台 | 16 核心、32GB 内存 | MySQL 8.0 | 数据读取,主从复制备份 |
Redis 集群 | 3 台 | 8 核心、16GB 内存 | Redis | 缓存、会话存储、消息队列 |
文件存储 | 1 台 | 4 核心、8GB 内存 | NFS/S3 协议存储 | 静态文件存储、文件上传 |
监控服务器 | 1 台 | 4 核心、8GB 内存 | Prometheus/Grafana | 系统监控、指标收集和展示 |
日志服务器 | 1 台 | 8 核心、16GB 内存 | ELK Stack | 日志收集、分析和检索 |
堡垒机 | 1 台 | 2 核心、4GB 内存 | SSH 代理 | 安全访问控制、操作审计 |
🏆 架构特点
✅ 高可用性:多层冗余设计,单点故障时系统仍可提供服务
✅ 负载均衡:四层+七层负载均衡,请求分发到可用服务器
✅ 安全防护:WAF、VPN、堡垒机多层安全防护
✅ 数据安全:MySQL 主从复制,定期备份,Redis 集群
✅ 扩展性强:支持水平扩展,容器化部署
✅ 可观测性:完整的监控和日志系统
✅ 管理便利:统一的 VPN 和堡垒机管理入口