์žฅ์• ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ ๋งŒ๋“ค๊ธฐ

์žฅ์• ์— ๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃจ๋Š” ์‹ค์šฉ์ ์ธ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ์„œ๋น„์Šค ์•ˆ์ •์„ฑ์„ ์œ„ํ•œ ์„ค๊ณ„ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์žฅ์•  ์ „ํŒŒ๋ฅผ ๋ง‰๋Š” ๋‹ค์–‘ํ•œ ํŒจํ„ด, ๊ทธ๋ฆฌ๊ณ  ๋ฉ”์‹œ์ง€ ํ๋ฅผ ํ™œ์šฉํ•œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์™€ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์œ ์ง€ ์ „๋žต๊นŒ์ง€, ์•ˆ์ •์ ์ธ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์— ํ•„์š”ํ•œ ํ•ต์‹ฌ ๊ธฐ์ˆ ๊ณผ ๊ฐœ๋…์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

(4.9) ์ˆ˜๊ฐ•ํ‰ 18๊ฐœ

์ˆ˜๊ฐ•์ƒ 307๋ช…

๋‚œ์ด๋„ ์ดˆ๊ธ‰

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

์žฅ์• 
์žฅ์• 
์ด๋ก  ์‹ค์Šต ๋ชจ๋‘
์ด๋ก  ์‹ค์Šต ๋ชจ๋‘
์˜ˆ์™ธ์ฒ˜๋ฆฌ
์˜ˆ์™ธ์ฒ˜๋ฆฌ
์žฅ์• 
์žฅ์• 
์ด๋ก  ์‹ค์Šต ๋ชจ๋‘
์ด๋ก  ์‹ค์Šต ๋ชจ๋‘
์˜ˆ์™ธ์ฒ˜๋ฆฌ
์˜ˆ์™ธ์ฒ˜๋ฆฌ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

4.9

5.0

Jang Jaehoon

13% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์ข‹์€ ๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

5.0

์•„์ž

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์‹ค์ œ๋กœ ๊ฒฝํ—˜ ํ•ด๋ณด์ง€ ์•Š์•„์„œ ์–ด๋ ค์› ์ง€๋งŒ, ๋งŽ์€ ํ‚ค์›Œ๋“œ๋“ค ์–ป์–ด๊ฐ€์„œ ๊ณต๋ถ€ํ›„์— ๋‹ค์‹œ ๊ฐ•์˜ ๋“ฃ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ใ…Žใ…Ž

5.0

100and

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์™€~!! ์ •๋ง ๋ช‡ ๋ฒˆ์„ ๊ณฑ์”น์œผ๋ฉด์„œ ๊ฐ•์˜๋ฅผ ๋“ค์—ˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์š”. ๋•๋ถ„์— ์™„๊ฐ•๊นŒ์ง„ ์˜ค๋ž˜ ๊ฑธ๋ ธ์ง€๋งŒ, ๊ทธ๋งŒํผ ์ •๋ง ๋งŽ์€ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ๊ธฐ์ˆ  ์˜์—ญ๋„, ์ „์ฒด์ ์ธ ์•„ํ‚คํ…์ฒ˜ ์‹œ๊ฐ๋„ ๋‘๋ฃจ ๊ธฐ๋ฅผ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฐ’์ง„ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. Foo๋‹˜์˜ ๋‹ค์Œ ๊ฐ•์˜๋„ ๋„ˆ๋ฌด ๊ธฐ๋Œ€๋ฉ๋‹ˆ๋‹ค!! ์ข‹์€ ๊ฐ•์˜ ์ œ์ž‘ํ•ด์ฃผ์…”์„œ ์ •๋ง ๊ฐ์‚ฌํ•ด์š”!! :)

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • ์žฅ์• ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ ์„ค๊ณ„

  • ์นดํ”„์นด(Kafka)๋ฅผ ํ™œ์šฉํ•œ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์ถ• ๊ธฐ์ดˆ

  • ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ์˜ ํŠธ๋žœ์žญ์…˜์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ• ๊ธฐ์ดˆ

"์ด ์ฝ”๋“œ ํ•œ ์ค„ ๋ฐ”๊ฟจ์„ ๋ฟ์ธ๋ฐ, ์™œ ๊ด€๋ จ ์—†๋Š” ์„œ๋น„์Šค๊นŒ์ง€ ๋ฉˆ์ถ˜ ๊ฑธ๊นŒ?"

๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ํ•œ ๋ฒˆ์ฏค ์ด๋Ÿฐ ๋ง‰๋ง‰ํ•œ ์ˆœ๊ฐ„์„ ๋งˆ์ฃผํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ช… ๋กœ์ง์€ ๋ฌธ์ œ์—†์–ด ๋ณด์ด๋Š”๋ฐ, ์ž‘์€ ๋ณ€๊ฒฝ ํ•˜๋‚˜๊ฐ€ ๋‚˜๋น„ํšจ๊ณผ์ฒ˜๋Ÿผ ๋ฒˆ์ ธ ์ „์ฒด ์‹œ์Šคํ…œ์˜ ์•ˆ์ •์„ฑ์„ ์œ„ํ˜‘ํ•˜๋Š” ๊ฒฝํ—˜ ๋ง์ด์ฃ . ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฒ˜์Œ์—๋Š” ์ด๋Ÿฐ ๊ฐ€์šฉ์„ฑ(Availability) ๋ฌธ์ œ, ์ฆ‰ '์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒƒ'์— ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜๋Š” ๋จผ์ € ์ด ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ์—์„œ ์ถœ๋ฐœํ•˜์—ฌ, ์žฅ์• ์˜ ์›์ธ์„ ์ง„๋‹จํ•˜๊ณ  ์„œ๋ฒ„ ์ด์ค‘ํ™”, ์žฌ์‹œ๋„(Retry), ์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค(Circuit Breaker)์™€ ๊ฐ™์€ ํ•„์ˆ˜ ํŒจํ„ด๋“ค์„ ํ†ตํ•ด ๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ์˜ ๊ธฐ์ดˆ๋ฅผ ๋‹ค์ง€๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํ˜„๋Œ€์ ์ธ ์‹œ์Šคํ…œ ์„ค๊ณ„์˜ ๊ณ ๋ฏผ์€ ์—ฌ๊ธฐ์„œ ๋๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๊ณ  ๋ณต์žกํ•ด์ง€๋ฉด์„œ, ์šฐ๋ฆฌ๋Š” ์„œ๋น„์Šค๋“ค์„ ๋” ์ž‘์€ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ณ  ๊ทธ ์‚ฌ์ด๋ฅผ ์นดํ”„์นด(Kafka)์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋„์ž…ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋น„์Šค ๊ฐ„์˜ ์˜์กด์„ฑ์„ ๋‚ฎ์ถฐ ์œ ์—ฐ์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋ฐฉ๋ฒ•์ด์ง€๋งŒ, ๋™์‹œ์— ์ƒˆ๋กœ์šด ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๋ฅผ ๋‚ณ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ๋” ๊ต๋ฌ˜ํ•˜๊ณ  ์–ด๋ ค์šด ์งˆ๋ฌธ๊ณผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

"์ฃผ๋ฌธ ์š”์ฒญ ๋ฉ”์‹œ์ง€๊ฐ€ ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜๋กœ ์œ ์‹ค๋˜๋ฉด ์–ด๋–กํ•˜์ง€?"

"๊ฒฐ์ œ ์™„๋ฃŒ ๋ฉ”์‹œ์ง€๊ฐ€ ์ค‘๋ณต ์ „์†ก๋˜์–ด ๊ณ ๊ฐ์—๊ฒŒ ๋ˆ์ด ๋‘ ๋ฒˆ ์ฒญ๊ตฌ๋˜๋ฉด ์–ด๋–กํ•˜์ง€?"

"์ฃผ๋ฌธ ์ฒ˜๋ฆฌ๋Š” ์„ฑ๊ณตํ–ˆ๋Š”๋ฐ, ์žฌ๊ณ  ์ฒ˜๋ฆฌ์—์„œ ์‹คํŒจํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ๋งž์ถ”์ง€?"

์ด์ฒ˜๋Ÿผ ์‹œ์Šคํ…œ์ด ๋ถ„์‚ฐ๋˜๋ฉด์„œ, ๋‹จ์ˆœํžˆ ์„œ๋ฒ„๊ฐ€ ๋ฉˆ์ถ”๋Š” '์žฅ์• '๋ฅผ ๋„˜์–ด ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ(Consistency) ์ด๋ผ๋Š” ๋” ๊ต๋ฌ˜ํ•˜๊ณ  ์–ด๋ ค์šด ๋ฌธ์ œ๋ฅผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜๋Š” ์—ฌ๊ธฐ์„œ ํ•œ ๊ฑธ์Œ ๋” ๋‚˜์•„๊ฐ€, ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ์˜ ์‹ ๋ขฐ์„ฑ ๋ฌธ์ œ๋ฅผ ์ •๋ฉด์œผ๋กœ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์นดํ”„์นด๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์šด์˜ํ•˜๋ฉฐ ๋ฉ”์‹œ์ง€ ์œ ์‹ค๊ณผ ์ค‘๋ณต์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ธฐ์ˆ ์„ ๋ฐฐ์šฐ๊ณ , ํŠธ๋žœ์žญ์…”๋„ ์•„์›ƒ๋ฐ•์Šค, ๋ณด์ƒ ํŠธ๋žœ์žญ์…˜, ๋ฉฑ๋“ฑ์„ฑ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ ํŒจํ„ด๋“ค์„ ํ†ตํ•ด ๋ถ„์‚ฐ๋œ ์„œ๋น„์Šค ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊นŠ์ด ์žˆ๊ฒŒ ํƒ๊ตฌํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋ถ„์€ ๋‹จ์ˆœํžˆ '๊ธฐ๋Šฅ์ด ๋™์ž‘ํ•˜๋Š”' ์ฝ”๋“œ๋ฅผ ๋„˜์–ด, ์–ด๋–ค ์˜ˆ์™ธ์ ์ธ ์ƒํ™ฉ์—์„œ๋„ ์‹œ์Šคํ…œ์ด '์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ' ๋™์ž‘ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ์„ค๊ณ„์˜ ์ „์ฒด์ ์ธ ์‹œ์•ผ๋ฅผ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์žฅ์•  ๋Œ€์‘๋ถ€ํ„ฐ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๊นŒ์ง€, ํ˜„๋Œ€์ ์ธ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์ด ์š”๊ตฌํ•˜๋Š” ์ง„์งœ '์•ˆ์ •์„ฑ'์„ ํ™•๋ณดํ•˜๋Š” ์—ฌ์ •์„ ์‹œ์ž‘ํ•ด ๋ณด์„ธ์š”.

์ด ๊ฐ•์˜์˜ ํŠน์ง•

๐Ÿ“Œ ์žฅ์• ์— ๋Œ€ํ•œ ๊ด€์  ์ „ํ™˜: ์ด ๊ฐ•์˜๋Š” ๋‹จ์ˆœํžˆ ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ธฐ์ˆ ์„ ๋‚˜์—ดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์žฅ์• ๋ฅผ ํ”ผํ•  ์ˆ˜ ์—†๋Š” ์‹œ์Šคํ…œ์˜ ์†์„ฑ์œผ๋กœ ๋ณด๊ณ , ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์–ด๋–ป๊ฒŒ ์‹œ์Šคํ…œ ์ „์ฒด์˜ ์•ˆ์ •์„ฑ์„ ์ง€ํ‚ฌ ์ˆ˜ ์žˆ์„์ง€์— ๋Œ€ํ•œ ์„ค๊ณ„ ๊ด€์ ์„ ํ•จ๊ป˜ ๊ณ ๋ฏผํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์•ˆ์ •์„ฑ์„ ์œ„ํ•œ ํ•ต์‹ฌ ์›๋ฆฌ์™€ ํŒจํ„ด: ๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ์„œ๋ฒ„ ์ด์ค‘ํ™”, ํ™•์žฅ์„ฑ ๊ฐœ๋…๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด, ์‹ค๋ฌด์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์žฌ์‹œ๋„(Retry), ์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค(Circuit Breaker)์™€ ๊ฐ™์€ ์•ˆ์ •์„ฑ ํŒจํ„ด๋“ค์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ ์šฉํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด๋ก ๊ณผ ์‹ค์Šต์˜ ๊ท ํ˜•: ๊ฐ ๊ฐœ๋…์ด ์™œ ํ•„์š”ํ•œ์ง€ ๋จผ์ € ์ดํ•ดํ•˜๊ณ , ๋ฐฐ์šด ๋‚ด์šฉ์„ ๊ณง๋ฐ”๋กœ ์‹ค์Šต์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ์žฅ์•  ์ƒํ™ฉ์„ ๋งŒ๋“ค์–ด๋ณด๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด, ์‹ค์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ๊ธฐ๋ฅผ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ•์˜ ๋‚ด์šฉ ๋ฏธ๋ฆฌ๋ณด๊ธฐ




์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋ฐฐ์›Œ์š”

๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ ์„ค๊ณ„ ์›์น™

์žฅ์• ๋Š” ์™œ ๋ฐœ์ƒํ• ๊นŒ์š”? ์„œ๋น„์Šค ๋‚ด๋ถ€์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‚˜๋ˆ„๋Š” ์ด์œ , ์ด์ค‘ํ™”์™€ ๋ณต์ œ, ํ™•์žฅ์„ฑ์˜ ๊ฐœ๋…์„ ๋ฐฐ์šฐ๊ณ , ์˜ˆ์™ธ ๋ฐ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ์ฒ˜๋ฆฌ, Retry, Timeout, ์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค, Fallback, Graceful Degradation, Rate Limit, Bulkhead ๋“ฑ ์žฅ์• ์˜ ์—ฐ์‡„์ ์ธ ์ „ํŒŒ๋ฅผ ๋ง‰๋Š” ํ•ต์‹ฌ ํŒจํ„ด๋“ค์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ๊ณผ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜

์„œ๋น„์Šค ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆ์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์ฒ˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ์š”? ์นดํ”„์นด(Kafka)์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๋น„๋™๊ธฐ ํ†ต์‹  ๊ตฌํ˜„, ๋ฉ”์‹œ์ง€ ์œ ์‹ค ๋ฐ ์ „์†ก ๋ณด์žฅ ์ˆ˜์ค€, DLQ(Dead Letter Queue)์™€ ์ˆœ์„œ ๋ณด์žฅ, ์ปจ์Šˆ๋จธ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์‹œ์ง€ ์ค‘๋ณต ์ฒ˜๋ฆฌ, ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ์•„์•ผ ํ•  ์นดํ”„์นด ์ฃผ์š” ์„ค์ • ๋“ฑ ์‹ค๋ฌด์ ์ธ ์ฃผ์ œ๋ฅผ ๊นŠ์ด ์žˆ๊ฒŒ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ์˜ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์ด ๊นจ์ง€๋Š” ์›์ธ, ํŠธ๋žœ์žญ์…˜๊ณผ @Transactional์˜ ์—ญํ• , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋™์‹œ์„ฑ ๋ฌธ์ œ์™€ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€ ๋“ฑ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๊ณ ๊ธ‰ ํŒจํ„ด๋“ค์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „(OS): Windows 10

  • ์‚ฌ์šฉ ๋„๊ตฌ: Intellij Community 2023.2, Google Chrome, Docker Desktop


ํ•™์Šต ์ž๋ฃŒ

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • ํ•ด๋‹น ๊ฐ•์˜๋Š” Java, Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ธฐ์ค€์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๊ฐ•์˜ ์ฃผ์š” ๋‚ด์šฉ์€ ์ฝ”๋“œ ๋ ˆ๋ฒจ๋ณด๋‹ค๋Š” ๊ฐœ๋… ์œ„์ฃผ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๊ฐ•์˜๋Š” Java, Spring Boot๋กœ ์‹ค์Šตํ•ด๋ณธ ํ›„ ๋‹ค๋ฅธ ์–ธ์–ด, ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์ ์šฉํ•ด๋ณด๋Š”๋ฐ ํฐ ์–ด๋ ค์›€์€ ์—†์„๊ฒ๋‹ˆ๋‹ค. (์ผ๋ถ€ ๊ธฐ๋Šฅ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž์ฒด์ ์œผ๋กœ ์ง€์›๋˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค)

  • ์„œ๋ฒ„์— ์˜ฌ๋ ค์„œ ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ๋กœ์ปฌ ๊ฐœ๋ฐœํ™˜๊ฒฝ์—์„œ๋งŒ ์‹ค์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. Kafka, Database ๋“ฑ ํ•„์š”ํ•œ ์š”์†Œ๋Š” Docker Desktop์„ ํ†ตํ•ด ์‹คํ–‰์‹œํ‚ต๋‹ˆ๋‹ค.

  • ์ˆ˜๊ฐ•ํ•˜์‹œ๋ฉด์„œ ๊ถ๊ธˆํ•œ ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ์งˆ๋ฌธ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”. ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•  ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • Retry, Timeout, Circuit Breaker ๋“ฑ์„ ํ™œ์šฉํ•ด ์žฅ์•  ์ „ํŒŒ๋ฅผ ๋ง‰๊ณ , ๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๊ณ  ์‹ถ์€ ๋ถ„

  • ์นดํ”„์นด(Kafka)๋ฅผ ์ฒ˜์Œ ๋‹ค๋ค„๋ณด๊ฑฐ๋‚˜, ๋ฉ”์‹œ์ง• ํ์˜ ๊ธฐ๋ณธ์„ ๋„˜์–ด ์•ˆ์ •์ ์ธ ๋น„๋™๊ธฐ ํ†ต์‹  ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์‹ถ์€ ๋ถ„

  • ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ ํŠธ๋žœ์žญ์…˜๊ณผ ๋ฉฑ๋“ฑ์„ฑ์„ ์ดํ•ดํ•˜๊ณ , ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•˜๊ณ  ์‹ถ์€ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Spring Boot๋ฅผ ํ™œ์šฉํ•œ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ฒฝํ—˜

์•ˆ๋…•ํ•˜์„ธ์š”
์ด์ค€ํ˜•(Foo)์ž…๋‹ˆ๋‹ค.

6,246

๋ช…

์ˆ˜๊ฐ•์ƒ

324

๊ฐœ

์ˆ˜๊ฐ•ํ‰

117

๊ฐœ

๋‹ต๋ณ€

4.9

์ 

๊ฐ•์˜ ํ‰์ 

9

๊ฐœ

๊ฐ•์˜

์•ˆ๋…•ํ•˜์„ธ์š”.

๋ฉ˜ํ† ๋ง์„ ํ•˜๋ฉด์„œ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋“ค์ด ์–ด๋ ค์›Œ ํ•˜๋Š” ๊ฐœ๋…๋“ค์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์‰ฝ๊ฒŒ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์„์ง€์— ๋Œ€ํ•ด์„œ ๋งŽ์€ ๊ณ ๋ฏผ์„ ํ•˜๊ณ  ์žˆ๋Š” ํ‘ธ(Foo)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ž˜ ๋ถ€ํƒ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.


์ด๋ ฅ

  • 2019. 08 ~ ํ˜„์žฌ : ์นด์นด์˜ค ์ž๋ฐ” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

  • 2021. 08 ~ ํ˜„์žฌ : programmers ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค ๋ฉ˜ํ† 

  • 2021. 12 ~ ํ˜„์žฌ : F-Lab ์ž๋ฐ” ๋ฐฑ์—”๋“œ ๋ฉ˜ํ† 

 

์ฑ…

  • ์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ด๋‹ค with ์ž๋ฐ”(๋งํฌ)

 

๊ธฐํƒ€ ์ด๋ ฅ ๋ฐ ํƒ€ ํ”Œ๋žซํผ ๊ฐ•์˜๋“ค์€ ์•„๋ž˜ GitHub ๋งํฌ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitHub - https://github.com/lleellee0

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

32๊ฐœ โˆ™ (8์‹œ๊ฐ„ 45๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

18๊ฐœ

4.9

18๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • ์ •์ฐฌ์˜๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ์ •์ฐฌ์˜

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    25% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    • ๋„ํ† ๋ฆฌ๋ฌต๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
      ๋„ํ† ๋ฆฌ๋ฌต

      ์ˆ˜๊ฐ•ํ‰ 2

      โˆ™

      ํ‰๊ท  ํ‰์  5.0

      5

      32% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

      • slam67๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
        slam67

        ์ˆ˜๊ฐ•ํ‰ 1

        โˆ™

        ํ‰๊ท  ํ‰์  5.0

        5

        34% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

        • three๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
          three

          ์ˆ˜๊ฐ•ํ‰ 1

          โˆ™

          ํ‰๊ท  ํ‰์  5.0

          5

          63% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

          • paulryu1998๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
            paulryu1998

            ์ˆ˜๊ฐ•ํ‰ 10

            โˆ™

            ํ‰๊ท  ํ‰์  5.0

            5

            31% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

            ์ด์ค€ํ˜•(Foo)๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

            ์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

            ๋น„์Šทํ•œ ๊ฐ•์˜

            ๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

            โ‚ฉ55,000