文件名称:smart-retry:Smart Retry主要是用来进行任务重试的。和Guava Retry、Spring Retry相比,Smart Retry最大的特点是异步重试,支持持久化,系统重启之后可以继续重试
文件大小:183KB
文件格式:ZIP
更新时间:2024-05-30 03:13:08
Java
Smart Retry Smart Retry主要是用来进行方法重试的。和Guava Retry、Spring Retry相比,Smart Retry最大的特点是异步重试,支持持久化,系统重启之后可以继续重试。 背景 在微服务环境下,会根据不同的业务将拆分成不同的服务,比如会员服务、订单服务、商品服务等等,每个服务都会和其他服务进行交互,根据交互的结果来更新自己服务的数据。在交互的过程中,往往会因为网络原因、对方服务的中断或更新重启导致交互失败,在这种情况下,要保证各个服务数据的一致性就必须要进行重试。市面上开源的重试框架有很多,如Guava Retry、Spring Retry等都支持重试,但是他们都不支持任务的持久化,系统更新重启,重试任务就会丢失,这无法保证数据的一致性。传统的做法是写一个定时任务,定时补偿。但这样会增加工作量,增加很多冗余的代码。Smart Retry在这种背景下应