后端端口分配规范
规划原则
- 起始端口:
20000 起,远离系统端口和常见开发端口(3000、5000、8000、8080 等)
- 百位分段:每个服务域独占一个百位段(
20xxx),单域最多容纳 100 个端口
- 子段细分:每段内部再按功能分层,便于快速定位
全局分配表
| 端口段 |
用途 |
说明 |
20000-20099 |
基础设施 |
Nginx 网关、监控、日志、管理后台等 |
20100-20199 |
用户服务 |
user-service:账号/邮箱的登录、注册、用户管理 |
20200-20999 |
预留扩展 |
未来新增服务域 |
用户服务段(20100-20199)细分
| 子段 |
用途 |
已分配端口 |
20100-20109 |
数据层 |
20101 Postgres、20103 Redis |
20110-20149 |
用户业务服务 |
20110 user-service(合并后单一服务) |
20150-20189 |
预留扩展 |
预留 |
20190-20199 |
预留/调试 |
预留 |
user-service 端口明细
| 服务名 |
宿主机端口 |
容器端口 |
说明 |
| user-postgres |
20101 |
5432 |
PostgreSQL |
| user-redis |
20103 |
6379 |
Redis 缓存 |
| user-service |
20110 |
8080 |
用户域统一服务(含账号/邮箱 登录/注册) |
历史端口(已回收,请勿复用):20111 20112 20113 20114
曾分别用于 user-login-account / user-register-account / user-login-email / user-register-email 四个独立微服务,现已合并为单一 user-service:20110,按 DDD 限界上下文聚合,内部由 axum Router 模块化拆分。
使用方式
- 新增服务前先查表:确认目标服务域的百位段是否还有空余子段
.env 覆盖:docker-compose.yml 中端口使用 ${VAR:-default} 语法,本地冲突时修改 .env,不动 compose 文件
- 及时更新本文档:分配新端口后,同步修改上表并提交
示例 .env