服務有定時任務,當服務部署到多個節點時,每一個節點在同一個時間點都會執行相同的定時任務,須要作的是,讓同一個時間點,每個定時任務只在一個節點上執行。git
任務調度服務部署在單結點,定時任務以Http請求的方式去向網關調用任務請求,網關將請求分發到集羣中的某一個節點,某一個節點執行任務。github
每一個定時任務都在Redis中設置一個Key-Value,Key爲自定義的每一個定時任務的名字(如task1:redis:lock),Value爲服務器Ip,同時設置合適的過時時間(例如設置爲5min)。redis
每一個節點在執行時,都要進行如下操做:服務器
一、使用XXL-JOB實現框架
分佈式任務調度平臺XXL-JOB 官網文檔分佈式
[1]: XXL-JOB 官網文檔地址
[2]: Elastic-Job
[3]: LTS文檔