分布式事务(六):分布式事务案例

本文分析了分布式事务在注册账号、存管开户和满标审核三个案例中的解决方案。注册账号采用seata或Hmily实现严格一致性;存管开户因涉及外部系统,采取最大努力通知方案;满标审核则适合可靠消息最终一致性,确保业务流程顺畅。
摘要由CSDN通过智能技术生成

注册账号案例

采用用户、账号分离设计(这样设计的好处是,当用户的业务信息发生变化时,不会影响认证、授权等系统机制),因此需要保证用户信息与账号信息的一致性。

用户向用户用心发起注册请求,用户中心保存用户业务信息,然后通知统一账号服务新建该用户所对应登录账号。

解决方案分析

针对注册业务,如果用户与账号信息不一致,则会导致严重问题,因此该业务对一致性要求较为严格,即当用户服务和账号服务任意一方出现问题都需要回滚事务。

采用seata实现2PC方案分析

在用户中心发起全局事务,统一账户服务为事务参与者,用户中心和统一账户服务只要有一方出现问题则全局事务回滚,符合要求。实现方法如下:

  1. 用户中心添加用户信息,开启全局事务
  2. 统一账号服务添加账号信息,作为事务参与者
  3. 其中一方执行失败seata对SQL进行你操作删除用户信息和账号信息,实现回滚。

采用Hmily实现TCC方案分析

TCC也可以实现用户中心和统一账户服务只要有一方出现问题则全局事务回滚,符合要求。实现方法如下:

用户中心

try:添加用户,状态为不可用

confirm:更新用户状态为可用

cancel:删除用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值