簡體   English   中英

Spring批處理或Spring引導異步方法執行?

[英]Spring batch or Spring boot async method execution?

我有一種情況,要從 4 個不同的 Web 服務讀取數據,對其進行處理,然后將結果存儲在數據庫表中。 此任務完成后也發送通知。 此過程的觸發器是通過 Web 服務調用。 我應該將我的工作編寫為 spring 批處理作業,還是將整個讀取/處理代碼編寫為從 Rest Controller 調用的異步方法(使用 @Async)?

請建議

在我看來,您的選擇應該是 @Async,因為 Spring Batch 是為大數據處理而設計的,它不被認為是按需處理,通常您創建一個批處理,然后按計划啟動批處理。 這種架構的好處將是你的工作的可靠性,在失敗等情況下,colud 重新啟動。 在您的情況下,您有數據集成問題,我建議您查看 Spring Integration。 您可以擁有一個通過 rest 調用啟動的 Spring Integration 管道。

我希望這可以幫助你

如果要執行大量服務,則選擇spring-batch 否則,我想沒有必要導入spring-batch

在我看來, @Async注釋是更簡單的方法。

如果兩種方法都可以,當然越簡單越好。

最后,如果service越來越多,不止4個, spring-batch會是更好的解決方案,因為spring-batch在這方面是專業的。

暫無
暫無

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

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