数据最终一致性解决方案

本文介绍了事件驱动架构在业务操作中的应用,包括任务表的设计及其处理流程,以及全局分布式事务服务管理服务GTS的使用方法。针对订单积分操作的具体场景,详细说明了如何通过消息队列实现业务操作的异步处理及重试机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Event Driven Architecture 基于事件驱动架构

消息表(任务表) :适用于java 、 php

1、 将业务操作抽象成一个任务入库,如果业务涉及到的接口成功,更新任务表成功,不成功设置失败状态,通过定时调度做处理,处理方式有三种:

1) 重试+告警(人工干预)

2) 撤销+告警(人工干预)

3) 直接告警(人工干预)

2、以订单积分操作为例:


1)用户服务积分增减接口保证幂等性,可以支持重试;

2)积分消息发送mq,可以用定时任务异步发送,并重试3次;

3)对于积分消息表没有确认处理的消息,并且重试3次仍然没有成功的消息,告警出来;


二、全局分布式事务服务管理服务gts(dubbo方式)

非强一致性控制,在网络不通等极端情况下可能导致数据不一致,需要告警人工介入




详见:https://github.com/chenjy16/gts


转载于:https://juejin.im/post/5aba0905f265da23906c0a3f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值