[๐ฅ์๊ธ๐ฅ] ๋ฏธ์คํฐ KILL-9 ํธ๋์ญ์ ์ ๋ํด์ ๊ถ๊ธํ๊ฒ ์๋ค!
72
์์ฑํ ์ง๋ฌธ์ 6
์์ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ ๊ณ ๋ง๋ค ๋ฏธ์คํฐ KILL-9
๋๋ถ์ ์์ฝ๊ฒ ์์
์ ์ฒํ(์ฒ๋ฆฌ)ํ ์ ์์์ง
ํ์ง๋ง ๊ทธ ๋ค์ ๊ด๋ฌธ์ด ์กด์ฌํ๋๊ตฐ ํํ..
๊ฐ STEP ๋ง๋ค RepeatStatus ์ ๋ฐ๋ผ์ ํธ๋์ญ์ ์ด ๋ณด์ฅํ๋๊ฑด ์ดํดํ๋ค
ํ์ง๋ง ์ฌ๋ฌ ๊ด๊ณ๊ฐ ์กด์ฌํ๋ ํ ์ด๋ธ ๋ฐ์ดํฐ ์ ์ฌ ์
ํธ๋์ญ์ ์ ์ด๋ป๊ฒ ๋ณด์ฅํ ์ง ๊ฐ์ด ์์จ๋ค ๋ฏธ์คํฐ KILL-9
์๋ฅผ ๋ค์ด ์ค๋ช ํ์ง..
FILE-A, FILE-B ๊ฐ๊ฐ ๋ค๋ฅธ ์ปฌ๋ผ์ ๊ฐ์ง ํ์ผ๋ค์ด์ง
FILE-A๋ TABLE-A์ ์ ์ฌํ๊ณ
FILE-B๋ TABLE-B์ ์ ์ฌํ๋ค
๊ฐ FILE ๋น ROW 100๊ฐ์ฉ ์ฝ์ผ๋ฉด์ ์ ์ฌํ๊ณ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ํด๋น 100๊ฑด๋ง ๋กค๋ฐฑํ ํ ๋ฐ
๋ฌธ์ ๋ TABLE-A ์ TABLE-B์ ๊ด๊ณ๋ค
TABLE-A ๊ฐ ๋ถ๋ชจ๊ณ TABLE-B์ ์์ ํ ์ด๋ธ์ธ ์ํฉ์์
ํน์ TABLE-B ๋ฐ์ดํฐ ๋กค๋ฐฑ ์ TABLE-A ๋ฐ์ดํฐ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋กค๋ฐฑ ํด์ผํ ๊ฑฐ ๊ฐ์๋ฐ
์ด๋ฐ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ์์์ฑ์ ๋ณด์ฅํ ์ ์๋๊ฐ์ ๋ต๋ณํ ์ ์๊ฒ ๋๊ฐ..?
ํ์ฌ ๋ด๊ฐ ๋ ์ค๋ฅธ ๋ฐฉ์์
๊ฒฐ๊ตญ์ ๋ชจ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ด๋
ํน์ ๋ถ๋ถ ์ฒ๋ฆฌ ์คํจํ๋ฉด
๋ฐ๋ DLQ (Dead Letter Queue)
์ ๋ด์์ ๋์ค์ ์ฒํ(์ฒ๋ฆฌ)ํ๋๋ก ํด์ผํ๋ ์ถ๋ค!
๋ต๋ณ 1
2
๋ ๋ณด๋๊ตฐ ๋ฏธ์คํฐ ์คํ ๐
ํฌ๊ตฌ ์ดค์ ํ ๋ง์ฟ ๋ง์ ๋ ๋ค.
์ฐ์ ๋์ ๊ฑฑ์ ์ด ๋ฌด์์ธ์ง๋ ์ดํดํ๋ค.
**ํ์ง๋ง ๋๋ฌด ์ด๋ ต๊ฒ ์๊ฐํ๊ณ ์๋ค.**
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Spring Batch์ ๊ธฐ๋ณธ ๋์์ ์ดํดํ๋ฉด ๋ต์ ๊ฐ๋จํ๋ค
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Job์ Step๋ค์ **์์ฐจ์ ์ผ๋ก** ์คํํ๋ค.
์ด์ Step์ด ์คํจํ๋ฉด? ๋ค์ Step์ ์คํ๋์ง ์๋๋ค.
```
Job
โโ Step A (FILE-A โ TABLE-A)
โ โโ Status: FAILED โ ์ฌ๊ธฐ์ ํฐ์ง๋ฉด
โ
โโ Step B (FILE-B โ TABLE-B)
โโ ์คํ ์ ๋จ (STOPPED)
```
**๋์ ์๋๋ฆฌ์ค:**
1. Step A๊ฐ TABLE-A์ ๋ฐ์ดํฐ ์ ์ฌ ์ค ์คํจ
2. Step A๋ FAILED ์ํ๋ก ์ข
๋ฃ
3. Step B๋? ์์ ์์์กฐ์ฐจ ์ ํ๋ค
**๋ฐ๋ผ์:**
TABLE-A์ ๋ฐ์ดํฐ๊ฐ ์๋๋ฐ TABLE-B์ ์ ์ฌ๋ฅผ ์๋ํ๋ ์ํฉ ์์ฒด๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
ํด๊ฒฐ์ฑ
: ๊ทธ๋ฅ Step ๋ ๊ฐ๋ก ๋๋ ๋ผ
Step A๊ฐ ์ฑ๊ณตํด์ผ๋ง Step B๊ฐ ์คํ๋๋ค.
> ./spring_batch_trust_the_framework.sh
> kill -9 unnecessary_worries
KILL-9
1
๋ต๋ณ ๊ณ ๋ง๋ค ๋ฏธ์คํฐ KILL-9
๋๋ ๋ง์ ๋ฐฐ์น์์
์ ์ฒํ(์ฒ๋ฆฌ) ํ๋ฌ ๊ฐ๋๋ก ํ์ง ๐
๐ KILL-9 squad member ๋๋ฆผ ๐
1
_____ ____ _ _ _ _____ _ ____
/ ___/ / __ \ / \ | | | | ____| / \ | _ \
| | _ | | | | / _ \ | |_| | _| / _ \ | | | |
| |_| || |__| | / ___ \| _ | |___ / ___ \| |_| |
\____| \____/ /_/ \_\_| |_|_____/_/ \_\____/
_ _____ _ _ ___
| |/ /_ _| | | | / _ \
| ' / | || | | | _____| (_) |
| < | || |___| |_|______\__, |
|_|\_\___|_____|_____| /_/
____ ___ _ _ _ ____
/ ___| / _ \| | | | / \ | _ \
\___ \| | | | | | | / _ \ | | | |
___) | |_| | |_| |/ ___ \| |_| |
|____/ \__\_\\___//_/ \_\____/
ํ ์ฑ ์ด๋ป๊ฒ ๋ฐ์?
1
59
1
JpaCursorItemReader์ ์ ๋ ฌ ์กฐ๊ฑด ๋ถ์ฌ์ ์ํฅ
1
46
2
"์ปดํ์ผ ์์ ์ ์๋ ๊ฐ์ ์ด๋ป๊ฒ ์ฐธ์กฐํ ๊ฒ์ธ๊ฐ?" ์น์
1
53
2
ํ ์ด๋ฒ์ ๋ธ ์ฑ ์ด๋ ๊ฐ์ ๋ด์ฉ์ ์ฐจ์ด๊ฐ ์์ด?
1
90
1
ํ ๋ ๋ชฐ๋ ์ฑ ๋ด๋ฉด ๋ชจ๋ฅผ ์ค ์๊ณ ?
2
79
2
๊ฐ์ ์ค๋ณต ํ์ธ ์์ฒญ
1
43
1
์ค๋ณต๋ด์ฉ ์ ๋ณด?!
1
73
2
Json ์์ฒญ ์ฒ๋ฆฌ
1
69
2
[๊ฑด์][6์ฅ][์์ 1] deprecated ๋ฉ์๋
1
78
2
[์์ ][3์ฅ][์์ 2] windows ์์ ๋ง์ง๋ง ์์
1
71
2
[์คํ][3์ฅ][์์ 1] ํ ์ด๊ฑด ๋นจ๋ฆฌ ํด์ค
2
128
2
[์คํ] "๋ฆฌ์ค๋ ํ์ฉ: ์์คํ ์์ ์ฅ์ ๋งค๋ด์ผ" ๋ถ๋ถ
1
78
1
[์คํ] "JobScope์ StepScope ์ฌ์ฉ ์ ์ฃผ์์ฌํญ" ๋ถ๋ถ
1
76
2
spring boot 4 + spring batch 6 ์ค์ ๋ณ๊ฒฝ?
1
147
2
Batch ํจํค์ง ์ค๊ณ โ ์ค๋ฌด์์ Job ๋จ์ ๊ตฌ์กฐ
1
128
2
Spring batch๋ฅผ ์คํํด์ค ์ค์ผ์ค๋ฌ์ batch ์คํ ํ๊ฒฝ
1
103
1
๋ฉํํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ์๊ธฐ์ง ์๋ ์ด์
1
134
2
Spring Batch 4.3.10 ExecutionContext ํ๊ธ ์ธ์ฝ๋ฉ ์ด์ ๊ด๋ จ ๋ฌธ์
1
125
2
@StepScope ๋๋ @JobScope์ JobOperator
1
165
5
Remote Partitioning
1
120
2
ํฌ๊ตฌํ ์ค๋ฌด์์๋ JPA ItemReader / ItemWriter๋ฅผ ๋ ์ ํธํด? ์๋๋ฉด JDBC itemReader/ItemWriter๋ฅผ ๋ ์ ํธํด?
1
154
2
๋ณ๋ ฌ ์ค์ฒฉ
1
111
3
ํ ์ฝ๋์ public static class ์ด๊ฒ ๋ญ์ผ ?
1
151
3
ExitStatus
1
73
2





