3/04/2025

MVCC的实现

 InnoDB 的 MVCC(多版本并发控制)主要用于实现非锁定读取,即在读取数据时无需加共享锁,从而提高并发性能。其核心原理包括两个部分:

  1. Read View:
    当事务启动时,InnoDB 为该事务构建一个 Read View,它记录了当前所有活跃事务的状态以及最小的事务 ID。之后,事务在读取数据时,只能看到在自己启动前已提交的数据版本,这样就能确保读到的一致性“快照”。

  2. Undo Log:
    每当事务对数据行进行修改时,InnoDB 会在 undo log 中记录该行的旧版本数据。当其他事务需要读取这行数据时,如果发现数据已被更新且当前版本对它不可见,系统会通过 undo log 回溯到适合当前事务 Read View 的旧版本,从而实现一致性读。

通过这两者的配合,InnoDB 即使在数据被频繁修改的情况下,也能保证每个事务读取到的数据是稳定一致的“历史快照”,从而避免幻读等并发问题。

DDD各层的分工

 DDD架构层次 在DDD中,我们通常有以下几层: 用户界面/展示层:接收请求,展示结果 应用层:协调领域对象完成用户用例,不包含业务规则 领域层:包含业务逻辑和规则,领域模型 基础设施层:提供技术能力,如持久化、消息等 各层职责分工 1. 接口请求数据获取与拼装 用户界面/展示...