Spring Batch 基本的批處理指導原則
下面是一些關鍵的指導原則,可以在構批量處理解決方案可以參考:
- 請記住,通常皮臉處理體系結構將會影響線上應用的體系結構,同時反過來也是一樣的。在你為批量任務和線上應用進行設計架構和環境的時候請儘可能的使用公共的模組。
- 越簡單越好,儘量在一個單獨的批量應用中構建簡單的批量處理,並避免複雜的邏輯結構。
- 儘量的保持儲存的資料和程式儲存在同一個地方(換句話說就是儘量將資料儲存到你程式執行的地方)。
- 最小化系統資源的使用,尤其針對 I/O。儘量在記憶體中執行儘可能多的操作。
- 檢查應用的 I/O(分析 SQL 語句)來避免不必要的的物理 I/O 使用。特別是以下四個常見的缺陷(flaws)需要避免:
- 在資料可以只讀一次就可以快取起來的情況下,針對每一個事務都來讀取資料
- 多次讀取/查詢同一事務中已經讀取過的資料
- 產生不必要的表格或者索引掃描
- 在 SQL 查詢中不指定 WHERE 查詢的值。
- 在批量執行的時候不要將一件事重複 2 次。例如,如果你需要針對你需要報表的資料彙總,請在處理每一條記錄時使用增量來儲存,儘可能不要再去遍歷一次同樣的資料。
- 為批量程式在開始的時候就分配足夠的記憶體,以避免在執行的時候再次分配記憶體。
- 總是將資料完整性假定為最壞情況。對資料進行適當的檢查和資料校驗以保持資料完整性(integrity)。
- 可能的話,請實現內部校驗(checksums )。例如,針對文字檔案,應該有一條結尾記錄,這個記錄將會說明檔案中的總記錄數和關鍵欄位的集合(aggregate)。
- 儘可能早地在模擬生產環境下使用真實的資料量,以便於進行計劃和執行壓力測試。
- 在大資料量的批量中,資料備份可能會非常複雜和充滿挑戰,尤其是你的系統要求不間斷(24 - 7)執行的系統。資料庫備份通常在設計時就考慮好了,但是檔案備份也應該提升到同樣的重要程度。如果系統依賴於文字檔案,檔案備份程式不僅要正確設定和形成文件,還要定期進行測試。
https://www.cwiki.us/display/SpringBatchZH/General+Batch+Principles+and+Guidelines
相關文章
- SpringBatch基本的批處理指導原則SpringBAT
- Spring Boot 之 Spring Batch 批處理實踐Spring BootBAT
- 《Spring Batch 權威指南》之“批處理和 Spring”SpringBAT
- 配置 Spring Batch 批處理失敗重試機制SpringBAT
- 一文輕鬆搞定批處理框架 Spring Batch框架SpringBAT
- Dynamics 365 Web API 批處理(batch requests)WebAPIBAT
- Java後端開發中的任務排程:使用Spring Batch實現批處理Java後端SpringBAT
- 物件導向的基本設計原則物件
- 使用Kafka分割槽擴充套件Spring Batch大資料排程批處理 – ArnoldKafka套件SpringBAT大資料
- Spring Batch + JPA 處理 Excel 檔案教程SpringBATExcel
- 導航設計的15個UX指導原則UX
- ThoughtBot的程式碼審查指導原則
- 程式碼重構方向原則指導
- 資料共享-spring batch(9)上下文處理SpringBAT
- MySQL使用Batch批量處理MySqlBAT
- 軟體開發中的10條最佳指導原則
- Windows批處理學習(二)——批處理(3)薦Windows
- 批處理框架框架
- JDBC 批處理JDBC
- 碎片批處理
- 批處理命令
- 批處理概述
- 設計和架構:業務開發指導原則架構
- Spring Boot整合Spring Cloud Task實現批處理操作Spring BootCloud
- sqlldr標準輸出未處理導致批處理掛起問題SQL
- 勞動爭議處理的基本原則(轉載)
- 架構的思想與指導原則——架構師的思維架構
- hillstone現場故障處理指導手冊
- Apache Beam,批處理和流式處理的融合!Apache
- windows批處理之一:字串處理Windows字串
- Windows批處理命令Windows
- 批處理命令大全
- 批處理壓縮
- 批處理----學習
- DOS 批處理命令
- java當中的批處理Java
- JDBC當中的批處理JDBC
- 批處理中的符號符號