- 认识分布式事物
- 分布式系统将一个应用拆分成多个可以独立部署的应用服务。因此需要多个系统服务之间配合完成事务。
- 一个完整的事件流程,有多个小事件组成,这些小操作分布在不同的小服务里面,这些小事件要不全部成功要不全部失败
本质上来说,分布式事务是为了保证不同的数据库中的数据一致性。
- 分布式事务产生的背景
- 跨进程 将单体项目拆成多个微服务应用,各个服务之间通过REST或是RPC调用完成业务操作。
- 跨数据库 一个项目有多个数据库 一个完整的业务流程数据分布在不同的数据库中产生了分布式事务。
-
- 解决分布式事务方法
- 使用3pc方式
1 询问 事务询问 向所有的参与者发送包含事务内容的请求 询问是否可以提交
2 预提交 根据询问反映结果来实现预提交或是中断事务
3 真正提交 将预提交的内容数据真正提交到数据库中