背景
- 任務(wù)拆分成單獨(dú)的服務(wù),部署一個(gè)就不會(huì)存在這個(gè)問(wèn)題了,實(shí)際部署時(shí)為多個(gè),就會(huì)存在多個(gè)節(jié)點(diǎn)都在執(zhí)行定時(shí)任務(wù)了
方案1
- 在方法執(zhí)行開始加分布式鎖,在finally釋放鎖
問(wèn)題
- 如果A節(jié)點(diǎn)執(zhí)行獲取了分布式鎖,并執(zhí)行完成時(shí)釋放了鎖;節(jié)點(diǎn)B由于STW導(dǎo)致延時(shí)執(zhí)行,也同樣獲取了鎖,這樣就會(huì)存在定時(shí)任務(wù)執(zhí)行多次
優(yōu)化
- 可以采用分布式定時(shí)任務(wù) xxl-job