分片维度
1.哈希切片
2.时间切片(适合有明显时间特点的数据
分布式事务
1.两阶段提交协议
方案:分为准备阶段与提交阶段,等待所有参与者准备完成后再提交。
优点:基于该协议,事务管理器能最大限度保证跨数据库事务的原子性,是分布式系统环境下最严格的实现方案。
缺点:性能问题,难以进行水平伸缩,锁定资源与消费资源之间时间差随参与者数目增加而拉长,易产生死锁或拖慢响应速度。在互联网行业中不常使用。
2.最大努力保证模式
方案:更新多个资源时,将提交尽量延后到最后一刻处理,方便回滚。非常通用。
优点:性能损耗较少。
缺点:多个分布式操作可能相互嵌套,需要对资源提交顺序进行充分考虑与评估,才能规避风险。
3.事务补偿机制
方案:跨库操作通过补偿与重试保证一致性。
优点:性能损耗较少,较为方便处理。
缺点:需要记录环境、信息、状态、步骤等,后续通过重试达到一致性。
事务路由
1.自动提交的事务路由
依赖JDBC数据源的自动提交事务特性,不需要手动操作与配置,但只能满足简单的业务逻辑需求。
2.可编程事务路由
通常采用Spring的声明式事务管理数据库,通过配置文件使用。
3.声明式事务路由
一般通过注解实现。