任务 鲜花商城的分布式事务管理
上一节
下一节
一、任务描述
鲜花商城中用户购买商品后调用订单微服务创建订单,之后订单微服务调用金币微服务更新用户的金币数量。这个跨服务调用需要在一个分布式事务中,请整合Seata对该分布式事务进行控制。
二、技术分析
鲜花商城中创建订单时需要调用金币微服务更新用户的金币数量,该业务的分布式事务可使用Seata的AT模式实现。该业务中涉及到两个微服务订单服务和金币服务。首先这两个服务需要连接SeataServer,其次,订单服务作为事务的发起方,可使用@GlobalTransactional注解声明开启一个全局事务。最后,订单服务和金币服务一样也是事务的参与者,需要使用Seata提供的数据源代理来操作数据库,并且在数据库中创建日志回滚表(undo_log)来记录订单表、用户金币表和金币详细表操作的回滚日志。其实现步骤可参照本单元的任务实现。

