此选择会改变什么
选择会改变争用、网络与故障边界。只有当运维收益足以抵偿额外的主机、凭据路径与恢复流程时,分离才有意义。
比较决策因素
| 因素 | API 与数据库位于同一台 VPS | 独立的应用与数据库 VPS |
|---|---|---|
| 请求路径 | 本地连接避免了主机间的网络跳转。 | 每次查询都依赖网络路由及其身份验证。 |
| 资源争用 | API、worker 与数据库共享 CPU、内存和磁盘活动。 | 每台主机有独立的资源预算。 |
| 故障边界 | 一次主机事件可能同时影响应用与数据库。 | 应用主机故障未必会停止数据库,但服务仍然需要两者同时可用。 |
| 访问范围 | 一个管理员边界即可访问两个组件。 | 数据库管理可以使用更窄的主机与网络边界。 |
| 连接规划 | 本地连接池仍需要在 API 和 worker 之间设置限制。 | 连接池需要设置限制,外加网络超时与重试决策。 |
| 恢复 | 一次重建必须同时重建两个角色及其兼容版本。 | 每次恢复以及应用到数据库的连接都必须一起演练。 |
每种选项何时有其价值
当实测的重叠在留有储备的情况下仍可容纳,且单一维护边界可接受时,保持小规模栈合并。当数据库的资源、访问或恢复需求已独立变得重要时,将其分离。