25-6-17-云计算复习10
本文最后由方少年更新于2025 年 11 月 10 日,已超过20天没有更新。如果文章内容或图片资源失效,请留言反馈,将会及时处理,谢谢!
**Question 9 [15 points]**
一个 Aurora 集群包含主实例 P 和两个只读副本(R1 在 AZ1,R2 在 AZ2)。数据库卷划分为两个保护组:
- **PG1**:存储奇数 LSN 日志(1001, 1003,...),副本分布在 SN1, SN2, SN3
- **PG2**:存储偶数 LSN 日志(1002, 1004,...),副本分布在 SN4, SN5, SN6
写入规则:
- 日志需写入 ≥3 个副本才视为成功
- CPL 为连续成功写入的最大 LSN
- VDL = min(PG1_CPL, PG2_CPL)
主实例 P 收到两个事务:
- **事务 X**:日志 LSN 1001 (PG1), 1002 (PG2), 1003 (PG1)
- **事务 Y**:日志 LSN 1004 (PG2), 1005 (PG1), 1006 (PG2)
观测到以下写入状态:
| LSN | PG | 成功副本数 | 失败副本位置 |
| ---- | ---- | ---------- | ------------ |
| 1001 | PG1 | 3 | 无 |
| 1002 | PG2 | 2 ❌ | SN6 |
| 1003 | PG1 | 3 | 无 |
| 1004 | PG2 | 3 | 无 |
| 1005 | PG1 | 2 ❌ | SN2, SN3 |
| 1006 | PG2 | 3 | 无 |
------
### 问题:
**[3 分]** 计算 PG1 和 PG2 的 CPL,并解释原因。
PG1:对应1001,1003,1005,1005失败了,因此CPL是1003
PG2:对应1002,1004,1006,1002失败了,因此CPL是0
**[2 分]** 计算系统当前 VDL 值。
CPL是两者之间的最低值,是0
**[4 分]** R1 需要从 P 同步日志。列出所有发送给 R1 的日志,并解释原因。
1001,1003,1004,1006,没有1002和1005是因为写入失败了
[3 分]
若此时 SN1 故障(PG1 副本):
- PG1 是否还能写入新日志?
- 系统能否维持当前 VDL?
PG1 是否还能写入新日志:不能,因为需要3个节点写入成功才可以,PG1故障后还剩2个,因此无法继续写入新日志
系统能否维持当前 VDL:可以,因为VDL不会随着节点故障而变小
**[3 分]** 给出两个优化建议,确保在 AZ 级故障时 VDL 仍能推进。
首先,修改条件,将其设置成允许部分AZ故障,例如3个AZ中写入2个成功即可
其次,增加AZ数量,例如增加至6个AZ中4个成功AZ
文章标题:25-6-17-云计算复习10
文章链接:https://www.fangshaonian.cn/archives/98/
最后编辑:2025 年 11 月 10 日 18:31 By 方少年
许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)