๋ช ์ฃผ์ ์ฌ์ฉ์ 6๋ง๋ช
์ ๋์์ผ๋ก Batch ์ฒ๋ฆฌ๋ฅผ ํ๋ ์ด๋ฒคํธ๊ฐ ์์๋ค. ๊ทธ๋๋ง๋ ๋ชจ์๋ 30๋ง๋ช
+ ์ด์๊ณ ๊ทธ์ค์์ 6๋ง๋ช
์ ์ถ๋ ค์, ์ถ๋ฆฐ ์ฌ์ฉ์ ๋์์ผ๋ก ํน์ ์์
์ ์ํํ๋ ๊ฒ์ด Task...
9์๋ฌ์ ์์ฑํด๋๊ณ ๋ ํํ์ด ์๋ชป๋ ๊ฒ์ ์๋ ํ์ธํ ์ ๋๋ก ๋งค์ฐ๋งค์ฐ ์ ๊ฒฝ์ด ์ฐ์์๋๋ฐ,
๋๋์ด ๋ช ์ฃผ์ ์ฒ์ ์ด์ํ๊ฒฝ์์ ์ํํ ๋ , ๊ฒฐ๋ก ์ ์ผ๋ก ๊ธฐ๋ฅ์ ์ ์์ ์ผ๋ก ์ ์๋ํ๋ค! ๊ทธ๋ฌ๋ ๊ทธ ๋ฐฐ์น ์์
์ด ์๊ฐ๋ณด๋ค ๋๋ฆฌ๊ฒ ๋์๋ค. ์ด๋์ ๋๋๋ฉด ๋ฐฅ ๋จน๊ณ ๋ฐ์ ๋๊ฐ์ ์ปคํผ ๋จ๊ฑฐ์ด ๊ฑฐ ํ์ ํธํธํธ ์ฒ์ฒํ ๋ถ์ด๋จน๊ณ ๋ค์ด์์, ๊ฑฐ๊ธฐ๋ค ๋๋ผ๋ง ํ ํธ ๋ด์ผ ์์
์ด ์๋ฃ๋๋ ์๋. T.T
๊ฐ์ ์ด ์๊ธํด์ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ฏธ๋ฆฌ ์ ๋ฆฌํด๋๋ค. (์ ์ ์ฉ๋๋ฉด ์ข์ Before & After๊ฐ ๋๊ฒ ์ง..?)
์ฐ์ ์ ๋๋ง ์์๋ณด๊ฒ๋ ์์ ๋ง ์ ๋ฆฌํ์ง๋ง, ์ดํด๋๊ฐ ๊น์ด์ง๋ฉด ๋๊ฐ ์ฝ์ด๋ ์์๋จน๊ฒ๋ ์ ๋ฆฌํ ์ ์๊ฒ๋๊ฒ ์ง.
์ฐธ๊ณ ๋ก ๋์ ๊ฒฝ์ฐ ๋ชจ๋ ์คํฐ๋๋ Output์ด ์์ด์ผ ๋์ ๊ทธ ๋ด์ฉ์ด ๋จ๋๋ฐ, ๋ธ๋ก๊ทธ post๋ ๊ทธ output์ผ๋ก์์ ์ญํ ์ด ์ ํจํ์ง ํ ์คํธํด๋ณด๊ธฐ ์ํด ๋ช๋ฒ์ ํฌ์คํธ ์ ๋ฆฌ๋ฅผ ๋ ํด๋ณผ ์๊ฐ์ด๋ค.
Parallel Processing ๋ฐฉ์ ๋ช๊ฐ์ง
* ํฌ๊ฒ Multi process, Single Process + Multithread๋ก ๋๋๋ค
* ๊ทธ ์ค Multithreaded Steps, Parallel Steps, Partitioning ๋ง ์ ๋ฆฌํด๋ณธ๋ค
Multithreaded Steps
* Single Process & Multithread
* ํ Step์ ์ฌ๋ฌ ์ค๋ ๋๋ก ์คํํ๋ค.
* Taskexecutor๋ฅผ ์ฌ์ฉํ๋ค
Parallel Steps
* Single process & multihtread
* ๊ฐ์ ๋ค๋ฅธ step๋ค์ ๋์์ ์ฒ๋ฆฌํ ์ ์๋ค.
* flow๋ฅผ ๋ง๋ค๊ณ > FlowBuilder๋ก Flow๋ฅผ ๋ง๋ ๋ค.
* ์ฃผ์! ๊ฐ๊ฐ์ Flow ๋ณ start ์ดํ์ ์๋ next๋, ๋ชจ๋ Flow์ start๊ฐ ์คํ๋ ํ next๊ฐ ์คํ๋๋ค.
Partitioning
* 'Single process + Multithread' ๋๋ 'Multi Processes'
* Implement by PartitionHandler and StepExecutionSplitter
* TaskExecutorPartitionHandler ๋ PartitionHandler ์ ๊ตฌํ์ฒด. Step์ ์ฌ๋ฌ thread๋ก ์คํํ๋ค.
Spring Batch vs. Spring Boot Batch
* @EnableBatchProcessing ์ด๋
ธํ
์ด์
์ผ๋ก ๊ธฐ์กด์ Batch ์ค์ ์ ๋์ฒดํ ์ ์๋ค
* Debugging์ด ๊ฐ๋ฅํ๋ค
* xml ์ค์ ๋์ Java config ๋ฐฉ์ ์ค์ ์ ๊ถ๊ณ ํ๋ค
* ์คํ๋ฐฉ๋ฒ์ด ๊ฐ๋จํ๋ค
* Logging framework๊ฐ ๋ด์ฅ๋์ด์๋ค.
---
์ฐธ๊ณ
* https://godekdls.github.io/Spring%20Batch/scalingandparallelprocessing/
* http://www.chidoo.me/index.php/2017/12/19/spring-batch-parallel-execution/
* https://oingdaddy.tistory.com/182
'๐ป Software Engineering > Java Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring 101 - #4 ์คํ๋ง ๋์์ธ ํจํด Spring Design Pattern (0) | 2020.07.24 |
---|---|
Spring 101 - #3 ๊ฐ์ฒด์งํฅ์ค๊ณ 5์์น SOLID (0) | 2020.07.23 |
Spring 101 - #2 ์๋ฐ ํค์๋์ OOP ํน์ฑ 4๊ฐ์ง (0) | 2020.07.19 |
Spring 101 - #1 ์๋ฐ์ ์ ์ฐจ์ /๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ (0) | 2020.07.13 |