簡體   English   中英

Java Spring Boot微服務中的Scheduler

[英]Scheduler in a java spring boot microservice

我們有一個使用Spring Boot編寫的微服務,它具有自己的NoSQL數據存儲。 我們正在研究一些功能,希望刪除一些舊數據(大小為50萬個文檔),並希望根據數據存儲中特定類型的記錄定期(一天一次)進行刪除。

是否有一個每天運行一次並進行刪除的調度程序,這是一種正確的方法? 另外,由於其微服務及其多個實例將在運行,我們如何控制此調度程序僅在1個實例上運行?

我現在可以想到多種選擇:

  1. 如果僅部署了一個微服務實例,則可以使用諸如石英之類的東西來計時工作。
  2. 創建用於清除的RESTful API,使用腳本調用它,例如,請參閱https://stackoverflow.com/a/15090893/2817980 這將確保僅服務的一個實例在清除時起作用。
  3. 如果存在主從副本,則要求主服務器僅分配給一個實例
  4. 使用石英等創建計划的作業,然后檢查該工作是否已被zookeeper / redis / db或任何其他存儲中的某些其他計划程序占用。

我可以討論更多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM