事务失败的重试策略
################################
问题和现象:
业务网络出现波动,造成事务失败了后,业务就不停地没有时间间隔地重试,造成sql堆积,qps也迅速升高,监控如下:
改进措施:重试策略:
事务或者其他sql语句执行失败是常有的事情,如果失败了就无间隔时间的不停地发起相同sql,那么很容易造成sql堆积,比如你的sql正在等待锁,你以为失败了,结果又不停地发起相同sql,就会造成大量相同sql在排队。
正确的重试策略应该是,重试时间要递增,且递增时间越来越大,就像iphone手机的密码错误重试时间一样,随着失败次数越多,那么重试的时间间隔就指数增大。
###########################################
igoodful@qq.com