關於作業系統的一些思考

JMCui發表於2024-11-19

作業程式有兩種型別:

  • Long-lived 作業程式:輸入或輸出是無限量的資料,常見近乎實時的業務資料處理,比如日誌處理等。(一般將訊息佇列連線輸入,用來做流量削峰或多個輸入)
  • Short-lived 作業程式:處理一組有限的資料然後終止。執行程式碼並在資料庫中記錄執行狀態的任務,然後結束。

常見的做法是,基於 Spring Cloud Stream 框架編寫 Long-lived 作業程式,基於 Spring Cloud Task 或 Spring Batch 框架編寫 Short-lived 作業程式;

Spring Cloud Data Flow 可以用來排程作業程式:
關於作業系統的一些思考
關於作業系統的一些思考

作業系統一般分為 排程執行編排

  • 排程 就指示了作業誰來執行、什麼時候執行、怎麼執行等,由此可以延伸出定期排程、手動排程、路由策略、過期策略、阻塞策略、失敗重試等等,這些都是 排程 需要處理的事情。
  • 編排 處理作業之間的依賴關係,子作業等。
  • 執行 具體的作業邏輯。


參考資料:
  • Spring Cloud Data Flow
  • Spring Batch Architecture
  • XXL-JOB

相關文章