木雷短网址 – 企业级短链接服务平台
核心功能
-
短链接生成: 支持自定义短码,自动生成唯一标识
-
多域名支持: 支持配置多个短链接域名,灵活管理
-
链接管理: 完整的CRUD操作,支持批量管理
-
过期管理: 支持设置链接过期时间,自动失效
-
链接状态: 支持启用/禁用链接状态控制
🧪 AB测试系统
-
多版本测试: 为同一短链接创建多个目标URL版本
-
智能分流: 支持平均分配、权重分配等流量分配策略
-
会话一致性: 同一用户在测试期间始终访问相同版本
-
实时统计: 实时收集各版本的点击数据和转化率
-
测试管理: 完整的测试生命周期管理
👥 用户管理
-
用户认证: 支持用户注册、登录、密码管理
-
Token管理: 支持API Token和登录Token双重认证
-
权限控制: 基于用户的访问权限管理
-
操作日志: 详细记录用户操作,支持审计追踪
📊 统计分析
-
点击统计: 实时记录点击数据,包括IP、地理位置、设备信息
-
数据分析: 提供多维度统计分析,包括地理分布、时间分布等
-
AB测试分析: 专门的AB测试数据分析和转化率统计
-
导出功能: 支持数据导出,便于进一步分析
🛡️ 安全与监控
-
操作日志: 自动记录所有操作,支持敏感信息脱敏
-
健康检查: 提供服务健康状态监控
-
性能监控: 高并发场景下的性能优化
-
安全防护: 防止恶意访问和数据泄露
🏗️ 技术架构
技术栈
-
语言: Go 1.23+
-
Web框架: Gin
-
数据库: MySQL/PostgreSQL
-
缓存: Redis
-
ORM: GORM
-
配置管理: Viper
-
日志: Zap
-
HTTP客户端: go-resty
架构设计
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Web Client │ │ Mobile App │ │ API Client │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ Load Balancer │
└─────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ DWZ Server │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ Controller │ │ Middleware │ │ Router │
│ └─────────────┘ └─────────────┘ └─────────────┘
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ Service │ │ DAO │ │ Model │
│ └─────────────┘ └─────────────┘ └─────────────┘
└─────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ Data Layer │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ MySQL │ │ Redis │ │
│ │ PostgreSQL │ │ Cache │ │
│ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────┘
分层架构
-
Controller层: 处理HTTP请求,参数验证,调用Service
-
Service层: 业务逻辑处理,事务管理
-
DAO层: 数据访问,数据库操作
-
Model层: 数据模型定义
-
Middleware层: 认证、日志、CORS等中间件
🚀 系统预览
短链接生成: 支持自定义短码,自动生成唯一标识
多域名支持: 支持配置多个短链接域名,灵活管理
链接管理: 完整的CRUD操作,支持批量管理
过期管理: 支持设置链接过期时间,自动失效
链接状态: 支持启用/禁用链接状态控制
-
多版本测试: 为同一短链接创建多个目标URL版本
-
智能分流: 支持平均分配、权重分配等流量分配策略
-
会话一致性: 同一用户在测试期间始终访问相同版本
-
实时统计: 实时收集各版本的点击数据和转化率
-
测试管理: 完整的测试生命周期管理
👥 用户管理
-
用户认证: 支持用户注册、登录、密码管理
-
Token管理: 支持API Token和登录Token双重认证
-
权限控制: 基于用户的访问权限管理
-
操作日志: 详细记录用户操作,支持审计追踪
📊 统计分析
-
点击统计: 实时记录点击数据,包括IP、地理位置、设备信息
-
数据分析: 提供多维度统计分析,包括地理分布、时间分布等
-
AB测试分析: 专门的AB测试数据分析和转化率统计
-
导出功能: 支持数据导出,便于进一步分析
🛡️ 安全与监控
-
操作日志: 自动记录所有操作,支持敏感信息脱敏
-
健康检查: 提供服务健康状态监控
-
性能监控: 高并发场景下的性能优化
-
安全防护: 防止恶意访问和数据泄露
🏗️ 技术架构
技术栈
-
语言: Go 1.23+
-
Web框架: Gin
-
数据库: MySQL/PostgreSQL
-
缓存: Redis
-
ORM: GORM
-
配置管理: Viper
-
日志: Zap
-
HTTP客户端: go-resty
架构设计
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Web Client │ │ Mobile App │ │ API Client │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ Load Balancer │
└─────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ DWZ Server │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ Controller │ │ Middleware │ │ Router │
│ └─────────────┘ └─────────────┘ └─────────────┘
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ Service │ │ DAO │ │ Model │
│ └─────────────┘ └─────────────┘ └─────────────┘
└─────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ Data Layer │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ MySQL │ │ Redis │ │
│ │ PostgreSQL │ │ Cache │ │
│ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────┘
分层架构
-
Controller层: 处理HTTP请求,参数验证,调用Service
-
Service层: 业务逻辑处理,事务管理
-
DAO层: 数据访问,数据库操作
-
Model层: 数据模型定义
-
Middleware层: 认证、日志、CORS等中间件
🚀 系统预览
用户认证: 支持用户注册、登录、密码管理
Token管理: 支持API Token和登录Token双重认证
权限控制: 基于用户的访问权限管理
操作日志: 详细记录用户操作,支持审计追踪
-
点击统计: 实时记录点击数据,包括IP、地理位置、设备信息
-
数据分析: 提供多维度统计分析,包括地理分布、时间分布等
-
AB测试分析: 专门的AB测试数据分析和转化率统计
-
导出功能: 支持数据导出,便于进一步分析
🛡️ 安全与监控
-
操作日志: 自动记录所有操作,支持敏感信息脱敏
-
健康检查: 提供服务健康状态监控
-
性能监控: 高并发场景下的性能优化
-
安全防护: 防止恶意访问和数据泄露
🏗️ 技术架构
技术栈
-
语言: Go 1.23+
-
Web框架: Gin
-
数据库: MySQL/PostgreSQL
-
缓存: Redis
-
ORM: GORM
-
配置管理: Viper
-
日志: Zap
-
HTTP客户端: go-resty
架构设计
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Web Client │ │ Mobile App │ │ API Client │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ Load Balancer │
└─────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ DWZ Server │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ Controller │ │ Middleware │ │ Router │
│ └─────────────┘ └─────────────┘ └─────────────┘
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ Service │ │ DAO │ │ Model │
│ └─────────────┘ └─────────────┘ └─────────────┘
└─────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ Data Layer │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ MySQL │ │ Redis │ │
│ │ PostgreSQL │ │ Cache │ │
│ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────┘
分层架构
-
Controller层: 处理HTTP请求,参数验证,调用Service
-
Service层: 业务逻辑处理,事务管理
-
DAO层: 数据访问,数据库操作
-
Model层: 数据模型定义
-
Middleware层: 认证、日志、CORS等中间件
🚀 系统预览
操作日志: 自动记录所有操作,支持敏感信息脱敏
健康检查: 提供服务健康状态监控
性能监控: 高并发场景下的性能优化
安全防护: 防止恶意访问和数据泄露
-
语言: Go 1.23+
-
Web框架: Gin
-
数据库: MySQL/PostgreSQL
-
缓存: Redis
-
ORM: GORM
-
配置管理: Viper
-
日志: Zap
-
HTTP客户端: go-resty
架构设计
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Web Client │ │ Mobile App │ │ API Client │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ Load Balancer │
└─────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ DWZ Server │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ Controller │ │ Middleware │ │ Router │
│ └─────────────┘ └─────────────┘ └─────────────┘
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ Service │ │ DAO │ │ Model │
│ └─────────────┘ └─────────────┘ └─────────────┘
└─────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────┐
│ Data Layer │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ MySQL │ │ Redis │ │
│ │ PostgreSQL │ │ Cache │ │
│ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────┘
分层架构
-
Controller层: 处理HTTP请求,参数验证,调用Service
-
Service层: 业务逻辑处理,事务管理
-
DAO层: 数据访问,数据库操作
-
Model层: 数据模型定义
-
Middleware层: 认证、日志、CORS等中间件
🚀 系统预览
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Web Client │ │ Mobile App │ │ API Client │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ └───────────────────────┼───────────────────────┘ │ ┌─────────────────────────────────────────────────┐ │ Load Balancer │ └─────────────────────────────────────────────────┘ │ ┌─────────────────────────────────────────────────┐ │ DWZ Server │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ Controller │ │ Middleware │ │ Router │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ Service │ │ DAO │ │ Model │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────────────────────────────────────────┘ │ ┌─────────────────────────────────────────────────┐ │ Data Layer │ │ ┌─────────────┐ ┌─────────────┐ │ │ │ MySQL │ │ Redis │ │ │ │ PostgreSQL │ │ Cache │ │ │ └─────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────┘
-
Controller层: 处理HTTP请求,参数验证,调用Service
-
Service层: 业务逻辑处理,事务管理
-
DAO层: 数据访问,数据库操作
-
Model层: 数据模型定义
-
Middleware层: 认证、日志、CORS等中间件
🚀 系统预览














🔧 快速安装
1. 创建项目目录
mkdir mliev-dwzcd mliev-dwz
2. 创建 Docker Compose 文件
mkdir mliev-dwzcd mliev-dwz
启动后,后台地址是 http://{ip}:{端口}/admin/ 默认安装后的账号:admin 默认安装后的密码:admin
创建 docker-compose.yml 文件:
version: '3.8'services: dwz-server: container_name: dwz-server image: docker.cnb.cool/mliev/open/dwz-server:latest restart: always ports: - "8080" # 仅暴露给容器网络 volumes: - "./config/:/app/config/" environment: - TZ=Asia/Shanghai - DATABASE_DRIVER=mysql - DATABASE_HOST=mysql - DATABASE_PORT=3306 - DATABASE_DBNAME=dwz - DATABASE_USERNAME=root - DATABASE_PASSWORD=dwz123456 - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_PASSWORD=redis123456 - REDIS_DB=0 - AUTO_INSTALL=install - GIN_MODE=release depends_on: mysql: condition: service_healthy redis: condition: service_healthy dwz-admin: container_name: dwz-admin image: docker.cnb.cool/mliev/open/dwz-admin-webui:latest restart: always ports: - "8081:80" depends_on: dwz-server: condition: service_healthy environment: - TZ=Asia/Shanghai healthcheck: test: ["CMD", "curl", "-f", "http://localhost:80/"] interval: 30s timeout: 10s retries: 3 start_period: 10s mysql: image: mysql:5.7 container_name: dwz-mysql restart: always environment: - MYSQL_ROOT_PASSWORD=dwz123456 - MYSQL_DATABASE=dwz - MYSQL_USER=dwz - MYSQL_PASSWORD=dwz123456 - TZ=Asia/Shanghai volumes: - "./data/mysql_data:/var/lib/mysql" ports: - "3306" command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "dwz", "-pdwz123456"] interval: 10s timeout: 5s retries: 5 start_period: 30s redis: image: redis:7-alpine container_name: dwz-redis restart: always environment: - TZ=Asia/Shanghai volumes: - "./data/redis_data:/data" ports: - "6379" command: redis-server --requirepass redis123456 healthcheck: test: ["CMD", "redis-cli", "--raw", "incr", "ping"] interval: 10s timeout: 3s retries: 5 start_period: 10s
3. 创建配置目录
mkdir -p config
chmod 666 ./config
4. 启动服务
# 后台启动所有服务docker-compose up -d# 或者前台启动(可以看到日志)docker-compose up
5. 验证安装
# 检查服务状态docker-compose ps# 查看服务日志docker-compose logs -f
6. 页面配置
mkdir -p config chmod 666 ./config
# 后台启动所有服务docker-compose up -d# 或者前台启动(可以看到日志)docker-compose up
5. 验证安装
# 检查服务状态docker-compose ps# 查看服务日志docker-compose logs -f
6. 页面配置
# 检查服务状态docker-compose ps# 查看服务日志docker-compose logs -f
打开 http://{您的IP}:8081 进行继续配置(请注意8081端口放开)
🚀 二次开发
环境要求
-
Go 1.23+
-
MySQL 5.7+ 或 PostgreSQL 9.6+
-
Redis 6.0+
开发步骤
-
克隆项目
git clone https://github.com/your-org/dwz-server.gitcd dwz-server
-
安装依赖
go mod download
Go 1.23+
MySQL 5.7+ 或 PostgreSQL 9.6+
Redis 6.0+
-
克隆项目
git clone https://github.com/your-org/dwz-server.gitcd dwz-server
-
安装依赖
go mod download
配置数据库
# 复制配置文件cp config.yaml.example config.yaml# 编辑配置文件,设置数据库连接信息vim config.yaml
-
初始化数据库
# 创建数据库表结构# 执行项目中的数据库迁移脚本
-
启动服务
go run main.go
-
验证服务
# 健康检查curl http://localhost:8080/health# API测试curl -X POST http://localhost:8080/api/v1/short_links \
-H "Content-Type: application/json" \
-d '{"original_url": "https://example.com"}'
Docker 部署
# 构建镜像docker build -t dwz-server .# 运行容器docker run -d \
--name dwz-server \
-p 8080:8080 \
-v /path/to/config.yaml:/app/config.yaml \
dwz-server
📖 API 文档
基础信息
-
基础URL: http://localhost:8080
-
内容类型: application/json
-
认证方式: Bearer Token
主要接口
短链接管理
# 创建短链接POST /api/v1/short_links
{ "original_url": "https://example.com", "domain": "short.ly", "custom_code": "abc123"}# 获取短链接列表GET /api/v1/short_links?page=1&page_size=10# 获取短链接详情GET /api/v1/short_links/{id}# 更新短链接PUT /api/v1/short_links/{id}# 删除短链接DELETE /api/v1/short_links/{id}
用户管理
# 用户登录POST /api/v1/login
{ "username": "admin", "password": "admin123"}# 创建用户POST /api/v1/users
{ "username": "newuser", "password": "password123", "email": "[email protected]"}
AB测试
# 创建AB测试POST /api/v1/ab_tests
{ "short_link_id": 1, "name": "按钮颜色测试", "variants": [
{ "name": "红色按钮", "target_url": "https://example.com/red"
},
{ "name": "蓝色按钮",
"target_url": "https://example.com/blue"
}
]
}# 获取AB测试统计GET /api/v1/ab_tests/{id}/statistics
# 构建镜像docker build -t dwz-server .# 运行容器docker run -d \ --name dwz-server \ -p 8080:8080 \ -v /path/to/config.yaml:/app/config.yaml \ dwz-server
-
基础URL:
http://localhost:8080 -
内容类型:
application/json -
认证方式: Bearer Token
主要接口
短链接管理
# 创建短链接POST /api/v1/short_links
{ "original_url": "https://example.com", "domain": "short.ly", "custom_code": "abc123"}# 获取短链接列表GET /api/v1/short_links?page=1&page_size=10# 获取短链接详情GET /api/v1/short_links/{id}# 更新短链接PUT /api/v1/short_links/{id}# 删除短链接DELETE /api/v1/short_links/{id}
用户管理
# 用户登录POST /api/v1/login
{ "username": "admin", "password": "admin123"}# 创建用户POST /api/v1/users
{ "username": "newuser", "password": "password123", "email": "[email protected]"}
AB测试
# 创建AB测试POST /api/v1/ab_tests
{ "short_link_id": 1, "name": "按钮颜色测试", "variants": [
{ "name": "红色按钮", "target_url": "https://example.com/red"
},
{ "name": "蓝色按钮",
"target_url": "https://example.com/blue"
}
]
}# 获取AB测试统计GET /api/v1/ab_tests/{id}/statistics
# 创建短链接POST /api/v1/short_links
{ "original_url": "https://example.com", "domain": "short.ly", "custom_code": "abc123"}# 获取短链接列表GET /api/v1/short_links?page=1&page_size=10# 获取短链接详情GET /api/v1/short_links/{id}# 更新短链接PUT /api/v1/short_links/{id}# 删除短链接DELETE /api/v1/short_links/{id}
用户管理
# 用户登录POST /api/v1/login
{ "username": "admin", "password": "admin123"}# 创建用户POST /api/v1/users
{ "username": "newuser", "password": "password123", "email": "[email protected]"}
AB测试
# 创建AB测试POST /api/v1/ab_tests
{ "short_link_id": 1, "name": "按钮颜色测试", "variants": [
{ "name": "红色按钮", "target_url": "https://example.com/red"
},
{ "name": "蓝色按钮",
"target_url": "https://example.com/blue"
}
]
}# 获取AB测试统计GET /api/v1/ab_tests/{id}/statistics
# 用户登录POST /api/v1/login
{ "username": "admin", "password": "admin123"}# 创建用户POST /api/v1/users
{ "username": "newuser", "password": "password123", "email": "[email protected]"}
# 创建AB测试POST /api/v1/ab_tests
{ "short_link_id": 1, "name": "按钮颜色测试", "variants": [
{ "name": "红色按钮", "target_url": "https://example.com/red"
},
{ "name": "蓝色按钮",
"target_url": "https://example.com/blue"
}
]
}# 获取AB测试统计GET /api/v1/ab_tests/{id}/statistics
详细的API文档请参考 API.md
🔧 配置说明
配置文件结构
app:
name: "DWZ Server"
version: "1.0.0"
port: 8080
mode: "debug"database:
driver: "mysql"
host: "localhost"
port: 3306
database: "dwz_server"
username: "root"
password: "password"redis:
host: "localhost"
port: 6379
password: ""
database: 0middleware:
operation_log:
enable: true
max_request_size: 1048576
sensitive_fields: ["password", "token"]
async_logging: true
环境变量
-
APP_PORT: 服务端口 (默认: 8080)
-
DB_HOST: 数据库主机
-
DB_PORT: 数据库端口
-
DB_USER: 数据库用户名
-
DB_PASSWORD: 数据库密码
-
REDIS_HOST: Redis主机
-
REDIS_PORT: Redis端口
🔍 性能特点
高性能设计
-
并发优化: 支持高并发访问,经过性能测试验证
-
缓存策略: 多级缓存机制,提升响应速度
-
异步处理: 统计记录异步处理,不影响主流程性能
-
连接池: 数据库连接池优化,减少连接开销
性能基准
-
响应时间: 平均响应时间 < 10ms
-
并发处理: 支持万级并发请求
-
吞吐量: 单实例支持 10,000+ QPS
-
可扩展性: 支持水平扩展,多实例部署
🛡️ 安全特性
数据安全
-
敏感信息脱敏: 自动脱敏密码、Token等敏感信息
-
访问控制: 基于Token的访问控制机制
-
操作审计: 完整的操作日志记录
-
数据加密: 敏感数据加密存储
系统安全
-
防刷机制: 防止恶意刷取短链接
-
访问限制: 支持IP访问频率限制
-
输入验证: 严格的输入参数验证
-
错误处理: 安全的错误信息返回
📊 监控与运维
健康检查
# 详细健康检查GET /health# 简单健康检查GET /health/simple
日志管理
-
结构化日志: JSON格式日志输出
-
日志级别: 支持不同级别日志配置
-
日志轮转: 自动日志文件轮转
-
监控集成: 支持主流监控系统集成
性能监控
-
实时监控: 实时性能指标监控
-
告警机制: 异常情况自动告警
-
性能分析: 详细的性能分析报告
-
容量规划: 基于历史数据的容量规划
app: name: "DWZ Server" version: "1.0.0" port: 8080 mode: "debug"database: driver: "mysql" host: "localhost" port: 3306 database: "dwz_server" username: "root" password: "password"redis: host: "localhost" port: 6379 password: "" database: 0middleware: operation_log: enable: true max_request_size: 1048576 sensitive_fields: ["password", "token"] async_logging: true
-
APP_PORT: 服务端口 (默认: 8080) -
DB_HOST: 数据库主机 -
DB_PORT: 数据库端口 -
DB_USER: 数据库用户名 -
DB_PASSWORD: 数据库密码 -
REDIS_HOST: Redis主机 -
REDIS_PORT: Redis端口
🔍 性能特点
高性能设计
-
并发优化: 支持高并发访问,经过性能测试验证
-
缓存策略: 多级缓存机制,提升响应速度
-
异步处理: 统计记录异步处理,不影响主流程性能
-
连接池: 数据库连接池优化,减少连接开销
性能基准
-
响应时间: 平均响应时间 < 10ms
-
并发处理: 支持万级并发请求
-
吞吐量: 单实例支持 10,000+ QPS
-
可扩展性: 支持水平扩展,多实例部署
🛡️ 安全特性
数据安全
-
敏感信息脱敏: 自动脱敏密码、Token等敏感信息
-
访问控制: 基于Token的访问控制机制
-
操作审计: 完整的操作日志记录
-
数据加密: 敏感数据加密存储
系统安全
-
防刷机制: 防止恶意刷取短链接
-
访问限制: 支持IP访问频率限制
-
输入验证: 严格的输入参数验证
-
错误处理: 安全的错误信息返回
📊 监控与运维
健康检查
# 详细健康检查GET /health# 简单健康检查GET /health/simple
日志管理
-
结构化日志: JSON格式日志输出
-
日志级别: 支持不同级别日志配置
-
日志轮转: 自动日志文件轮转
-
监控集成: 支持主流监控系统集成
性能监控
-
实时监控: 实时性能指标监控
-
告警机制: 异常情况自动告警
-
性能分析: 详细的性能分析报告
-
容量规划: 基于历史数据的容量规划
并发优化: 支持高并发访问,经过性能测试验证
缓存策略: 多级缓存机制,提升响应速度
异步处理: 统计记录异步处理,不影响主流程性能
连接池: 数据库连接池优化,减少连接开销
-
响应时间: 平均响应时间 < 10ms
-
并发处理: 支持万级并发请求
-
吞吐量: 单实例支持 10,000+ QPS
-
可扩展性: 支持水平扩展,多实例部署
🛡️ 安全特性
数据安全
-
敏感信息脱敏: 自动脱敏密码、Token等敏感信息
-
访问控制: 基于Token的访问控制机制
-
操作审计: 完整的操作日志记录
-
数据加密: 敏感数据加密存储
系统安全
-
防刷机制: 防止恶意刷取短链接
-
访问限制: 支持IP访问频率限制
-
输入验证: 严格的输入参数验证
-
错误处理: 安全的错误信息返回
📊 监控与运维
健康检查
# 详细健康检查GET /health# 简单健康检查GET /health/simple
日志管理
-
结构化日志: JSON格式日志输出
-
日志级别: 支持不同级别日志配置
-
日志轮转: 自动日志文件轮转
-
监控集成: 支持主流监控系统集成
性能监控
-
实时监控: 实时性能指标监控
-
告警机制: 异常情况自动告警
-
性能分析: 详细的性能分析报告
-
容量规划: 基于历史数据的容量规划
敏感信息脱敏: 自动脱敏密码、Token等敏感信息
访问控制: 基于Token的访问控制机制
操作审计: 完整的操作日志记录
数据加密: 敏感数据加密存储
-
防刷机制: 防止恶意刷取短链接
-
访问限制: 支持IP访问频率限制
-
输入验证: 严格的输入参数验证
-
错误处理: 安全的错误信息返回
📊 监控与运维
健康检查
# 详细健康检查GET /health# 简单健康检查GET /health/simple
日志管理
-
结构化日志: JSON格式日志输出
-
日志级别: 支持不同级别日志配置
-
日志轮转: 自动日志文件轮转
-
监控集成: 支持主流监控系统集成
性能监控
-
实时监控: 实时性能指标监控
-
告警机制: 异常情况自动告警
-
性能分析: 详细的性能分析报告
-
容量规划: 基于历史数据的容量规划
# 详细健康检查GET /health# 简单健康检查GET /health/simple
-
结构化日志: JSON格式日志输出
-
日志级别: 支持不同级别日志配置
-
日志轮转: 自动日志文件轮转
-
监控集成: 支持主流监控系统集成
性能监控
-
实时监控: 实时性能指标监控
-
告警机制: 异常情况自动告警
-
性能分析: 详细的性能分析报告
-
容量规划: 基于历史数据的容量规划
实时监控: 实时性能指标监控
告警机制: 异常情况自动告警
性能分析: 详细的性能分析报告
容量规划: 基于历史数据的容量规划