事务失败的重试策略

################################

问题和现象:

业务网络出现波动,造成事务失败了后,业务就不停地没有时间间隔地重试,造成sql堆积,qps也迅速升高,监控如下:

 

 改进措施:重试策略:

        事务或者其他sql语句执行失败是常有的事情,如果失败了就无间隔时间的不停地发起相同sql,那么很容易造成sql堆积,比如你的sql正在等待锁,你以为失败了,结果又不停地发起相同sql,就会造成大量相同sql在排队。

 正确的重试策略应该是,重试时间要递增,且递增时间越来越大,就像iphone手机的密码错误重试时间一样,随着失败次数越多,那么重试的时间间隔就指数增大。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

###########################################

posted @ 2021-01-27 12:10  igoodful  阅读(668)  评论(0编辑  收藏  举报