网络延迟导致数据补偿提交的解决方案
2022-11-27 17:26 作者:bili_52639594022 | 我要投稿
解决方案一:
(1)为了保证数据包的可靠传递,发送方必须把已发送的数据包保留在缓冲区;
(2)并为每个已发送的数据包启动一个超时定时器;
(3)如在定时器超时之前收到了对方发来的应答信息(可能是对本包的应答,也可以是对本包后续包的应答),则释放该数据包占用的缓冲区;
(4)否则,重传该数据包,直到收到应答或重传次数超过规定的最大次数为止。
(5)接收方收到数据包后,先进行CRC校验,如果正确则把数据交给上层协议,然后给发送方发送一个累计应答包,表明该数据已收到,如果接收方正好也有数据要发给发送方,应答包也可方在数据包中捎带过去。
处理方法二:
操作加锁 (token令牌验证机制)
唯一业务ID (先生成订单数据 通过获取订单编号 实现交易数据的处理 在提交数据的时候借助于redis的事务操作机制)
获取业务处理结果 (更具处理结果修改订单状态)