diff --git a/docs/BLUE-GREEN-DEPLOY.md b/docs/BLUE-GREEN-DEPLOY.md index 347f387..fa329e9 100644 --- a/docs/BLUE-GREEN-DEPLOY.md +++ b/docs/BLUE-GREEN-DEPLOY.md @@ -18,15 +18,26 @@ 开发环境(dev.xmclassmate.top) ├── 蓝色实例 :8080(当前活动) ├── 绿色实例 :8081(空闲) - └── 数据库 milkydata_dev(共享) + └── 数据库 milkydata_dev ← 蓝绿共享,名称不变 生产环境(xmclassmate.top) ├── 蓝色实例 :4433(当前活动) ├── 绿色实例 :4434(空闲) - └── 数据库 milkydata(共享) + └── 数据库 milkydata ← 蓝绿共享,名称不变 ``` -每个环境独立维护自己的蓝绿实例,互不干扰。 +每个环境独立维护自己的蓝绿实例和独立数据库,互不干扰。 + +### 数据库与蓝绿的关系 + +数据库名称**不受蓝绿切换影响**: + +| 环境 | 数据库 | 蓝绿实例共同连接 | +|------|--------|----------------| +| 开发 | `milkydata_dev` | `DATABASE_URL=postgres://.../milkydata_dev` | +| 生产 | `milkydata` | `DATABASE_URL=postgres://.../milkydata` | + +两个实例的 service 文件中 `DATABASE_URL` 配置为完全相同的值。切换蓝绿时只改端口,不改数据库连接。 ## 蓝绿部署架构 @@ -206,10 +217,10 @@ scripts/ ### 端口映射汇总 -| 环境 | 域名 | 当前端口 | 蓝绿备选端口 | -|------|------|---------|-------------| -| 开发 | `dev.xmclassmate.top` | `:8080` | `:8081` | -| 生产 | `xmclassmate.top` | `:4433` | `:4434` | +| 环境 | 域名 | 数据库 | 当前端口 | 蓝绿备选端口 | +|------|------|--------|---------|-------------| +| 开发 | `dev.xmclassmate.top` | `milkydata_dev` | `:8080` | `:8081` | +| 生产 | `xmclassmate.top` | `milkydata` | `:4433` | `:4434` | ## 当前是否实施