๐Ÿช ์šฐ์•„์ฝ˜ 2024๋ฅผ ๋‹ค๋…€์˜ค๊ณ ..

์ƒํ˜ธยท2024๋…„ 10์›” 31์ผ
4
post-thumbnail

10์›” 30์ผ (์ˆ˜)์— ์šฐ์•„ํ•œํ˜•์ œ๋“ค ์ปจํผ๋Ÿฐ์Šค ์šฐ์•„์ฝ˜ 2024๋ฅผ ๋‹ค๋…€์™”๋‹ค!

์ด์— ๋Œ€ํ•ด์„œ ๋Š๋‚€ ์ ๋“ค์„ ๊ธฐ๋กํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.


๐Ÿšช ์‹ ์ฒญ ๋ฐ ์ž…์žฅ

์šฐ์•„์ฝ˜์€ ์‚ฌ์ „ ์‹ ์ฒญ์„ ๋ฐ›์€ ํ›„์—, ์ผ๋ถ€ ์‹ ์ฒญ์ž๋“ค์— ํ•œํ•ด์„œ๋งŒ ์ž…์žฅ๊ถŒ์„ ์ œ๊ณตํ•ด์คฌ๋‹ค.
๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๋–จ์–ด์ ธ์„œ ์ŠฌํŽ๋Š”๋ฐ.. ๐Ÿฅฒ
ํ์‹œ์ฆ˜์„ ํ•จ๊ป˜ ํ•˜๋Š” ์นœ๊ตฌ๊ฐ€ ๊ณ ๋ง™๊ฒŒ๋„ ์–‘๋„๋ฅผ ํ•ด์ค˜์„œ ๊ฐˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค!

์œ„์น˜๋Š” ์‚ผ์„ฑ์—ญ ๊ทธ๋žœ๋“œ ์ธํ„ฐ์ปจํ‹ฐ๋„จํƒˆ ์„œ์šธ ํŒŒ๋ฅด๋‚˜์Šค ํ˜ธํ…” ๋‚ด๋ถ€์˜€๋‹ค!
ํ˜ธํ…”์—์„œ ํ•˜๋Š” ๊ฑด ๋ชฐ๋ž๋Š”๋ฐ.. ๊ทธ๋ž˜์„œ ๊ทธ๋Ÿฐ์ง€ ์‹œ์„ค์ด ๋„ˆ๋ฌด ์ข‹์•„์„œ ๋†€๋ž๋‹ค.

์˜ค์ „ 10์‹œ๋ถ€ํ„ฐ ์‹œ์ž‘์ด์—ˆ๋Š”๋ฐ, ์•„์นจ์— ์ผ์–ด๋‚˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ํž˜๋“ค์–ด์„œ ํ‚ค๋…ธํŠธ๋Š” ๋“ฃ์ง€ ๋ชป ํ•˜๊ณ  ๋‘ ๋ฒˆ์งธ ์„ธ์…˜๋ถ€ํ„ฐ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
์š”์ฆ˜ ์ปจํผ๋Ÿฐ์Šค๋ฅผ ์ž์ฃผ ๋‹ค๋…€์„œ ์ผ์ฃผ์ผ์— ํ•œ ๋ฒˆ์€ ์ฝ”์—‘์Šค๋ฅผ ๊ฐ€๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ๋„ˆ๋ฌด ๋ฉ€๋‹ค ๐Ÿคฃ

์ž…์žฅํ•ด์„œ ์ด๋ฆ„ํ‘œ๋ฅผ ๋ฐ›์€ ํ›„์— ์„ธ์…˜์— ์ž…์žฅํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค!

๊ทธ๋Ÿผ ์ด์ œ๋ถ€ํ„ฐ ์„ธ์…˜ ๋‚ด์šฉ ์ •๋ฆฌ์™€ ๋Š๋‚€ ์ ๋“ค์„ ๋Œ€ํ•ด ์ ์–ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.


๐Ÿง‘๐Ÿปโ€๐Ÿซ ์„ธ์…˜

1. ๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ API ๊ฒŒ์ดํŠธ์›จ์ด - ๊ถŒ์šฉ๊ทผ๋‹˜

  • ํ”„๋ก ํŠธ ์„œ๋ฒ„ != API Gateway
  • MSA์—์„œ ๋„๋ฉ”์ธ๋“œ๋ง ๋ถ„ํ• ๋˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ”„๋ก ํŠธ ์„œ๋ฒ„๊ฐ€ ํ•ด๊ฒฐํ•ด ์คŒ

Conway's law

  • ์กฐ์ง์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์˜์—ญ -> ํ•˜๋‚˜์˜ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋กœ ๊ตฌ์„ฑ
  • Reverse Conway's law๋„ ์ ์šฉ ๊ฐ€๋Šฅ

ํšก๋‹จ๊ด€์‹ฌ์‚ฌ ๋ฌธ์ œ

  • ์„œ๋น„์Šค ๊ฐ„์„ ํšก๋‹จ
  • ์ธ์ฆ, ๋ณด์•ˆ, ํƒ„๋ ฅ์„ฑ ๋“ฑ..
  • ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ ์ฆ๊ฐ€๋˜๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ
  • ์„œ๋น„์Šค๊ฐ€ ์„ฑ์žฅํ•  ์ˆ˜๋ก ๋”์šฑ ๋ฌธ์ œ๊ฐ€ ์ปค์ง
    -> MSA๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ๋ฐ˜๋“œ์‹œ ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค

API Gateway

  • ๋‹จ์ผ ์ฒ˜๋ฆฌ
  • API Gateway Pattern๊ณผ๋Š” ๋‹ค๋ฆ„!
  • ํŠน์ • ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์ˆ˜์šฉํ•  ์ˆ˜ ์—†๋‹ค
    -> ์–ด๋Š ํ•˜๋‚˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค์— ์ข…์†๋˜๋ฉด ์•ˆ๋จ

๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ API Gateway

  • Scalableํ•˜๊ฒŒ -> ํ•„์š”์‹œ ์ธํ”„๋ผ๊ฐ€ ํ—ˆ์šฉ๋˜๋Š” ํ•œ์—์„œ ํ™•์žฅ ๊ฐ€๋Šฅ
  • ์Šคํ”„๋ง ํด๋ผ์šฐ๋“œ ๊ฒŒ์ดํŠธ์›จ์ด ์‚ฌ์šฉ
  • ๋ณ„๋„์˜ ์ปค์Šคํ…€ ํ•„ํ„ฐ์ฒด์ธ ๋งŒ๋“ค์–ด ์‚ฌ์šฉ
  • 1) ๋ผ์šฐํŒ… ์„œ๋น„์Šค ๊ฒฐ์ • 2) ํ•„ํ„ฐ ์„œ๋น„์Šค ๊ฒฐ์ •

์‚ฌ์šฉ์ค‘์ธ ๊ธฐ๋Šฅ

  1. ์ธ์ฆ ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ์ธ์ฆ ๊ด€๋ จ ํšก๋‹จ๊ด€์‹ฌ์‚ฌ ๋ฌธ์ œ ํ•ด๊ฒฐ
  2. ๋ผ์šฐํŒ…
  3. ๋ณด์•ˆ : ์–ด๋ทฐ์ง•๊ณผ ๊ฐ™์€ ๋ณด์•ˆ์  ๋ฌธ์ œ๋ฅผ ํ•˜๋‚˜์˜ ํ”„๋ก ํŠธ ์„œ๋ฒ„์—์„œ ํ•ด๊ฒฐ
  4. ํ๋ฆ„์ œ์–ด : 1) Rate Limiting 2) Circuit Breaker

Rate Limiting : ์„œ๋ฒ„๊ฐ€ ํŠน์ • ์ž„๊ณ„์น˜๊นŒ์ง€๋งŒ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ํ—ˆ์šฉํ•˜๋Š” ์ •์ฑ… ๋งํฌ
Circuit Breaker : ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ ‘์† ์ฐจ๋‹จ์„ ์ž๋™ํ™”ํ•˜๋Š” ๊ฒƒ ๋งํฌ

์ธ์ฆ ์„œ๋น„์Šค : ๋‹จ์ผ์‹คํŒจ์ง€์  (SPOF)

๋‹จ์ผ ์žฅ์• ์ ์€ ์‹œ์Šคํ…œ๊ตฌ์„ฑ ์š”์†Œ ์ค‘์—์„œ, ๋™์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉด ์ „์ฒด ์‹œ์Šคํ…œ์ด ์ค‘๋‹จ๋˜๋Š” ์š”์†Œ๋ฅผ ๋งํ•œ๋‹ค. ๋งํฌ

  • ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ์€ ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•œ ์„œ๋น„์Šค, ์„œ๋น„์Šค๊ฐ€ ํ™•์žฅ๋˜๋ฉด์„œ ์ธ์ฆ ์„œ๋น„์Šค์— ์˜์กดํ•˜๋Š” ์„œ๋น„์Šค๋“ค์ด ๋Š˜์–ด๋‚จ

<์ •๋ฆฌ>
์ฒซ ๋ฒˆ์งธ ์„ธ์…˜์—์„œ๋Š” ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ์—์„œ API Gateway๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์šฐ์„  ์œ ์‚ฌํ•œ ์ด๋ฆ„์ด์ง€๋งŒ ๊ทผ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฅธ, 1) API Gateway 2) API Gateway Pattern์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ์…จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  MSA ๊ตฌ์กฐ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ๋ฐ–์— ์—†๋Š” ํšก๋‹จ๊ด€์‹ฌ์‚ฌ ๋ฌธ์ œ๋ฅผ ์–ธ๊ธ‰ํ•˜์‹œ๋ฉฐ ์ด๋ฅผ ์–ด๋– ํ•œ ๋ฐฉ๋ฒ•๋“ค๋กœ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€๋ฅผ ์ด์–ด์„œ ๋ง์”€ํ•˜์…จ๋‹ค.
๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ์—์„œ๋Š” API Gateway๋ฅผ Scalableํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋ณ„๋„์˜ ์ปค์Šคํ…€ ํ•„ํ„ฐ์ฒด์ธ์„ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋˜ํ•œ ์Šคํ”„๋ง ํด๋ผ์šฐ๋“œ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ์ธ์ฆ ํ•„ํ„ฐ, ํ๋ฆ„์ œ์–ด(Rate Limiting, Circuit Breaker) ๊ธฐ๋Šฅ ๋“ฑ์„ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

<๋Š๋‚€ ์ >
๐Ÿง‘๐Ÿปโ€๐Ÿ’ป ์•„์ง API Gateway์— ๋Œ€ํ•ด์„œ๋Š” ์–•๊ฒŒ๋งŒ ์•Œ๊ณ  ์žˆ๋Š” ์ƒํƒœ์ธ๋ฐ, ๊ตฌ์กฐ์ ์œผ๋กœ ์กฐ๊ธˆ ๋” ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋˜ํ•œ API Gateway์™€ API Gateway Pattern์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์•Œ ์ˆ˜ ์žˆ์–ด์„œ ๋” ์œ ์ตํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค! ๐Ÿ‘๐Ÿป


2. Kafka๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฉ”์‹œ์ง€ ํ”Œ๋žซํผ์—์„œ ์žฅ์• ๋ฅผ ๊ฒช์œผ๋ฉฐ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐœ์„ ํ•œ ์ด์•ผ๊ธฐ - ํ—ˆ์ฐฝ์˜ค, ๊น€๋™ํ™˜๋‹˜

  • ์ž‘๋…„, ์˜ฌํ•ด 41๊ฑด์˜ ์žฅ์•  ๋ฐœ์ƒ (์™ธ๋ถ€ ์žฅ์• ๊ฐ€ 70%)

์•„ํ‚คํ…์ฒ˜ ๊ฐœ์„ ์„ ๊ฒฐ์‹ฌํ•˜๊ฒŒ ๋œ ์žฅ์• 

  • ์ž‘๋…„ ๋ฐœ์ƒํ•œ 3๊ฑด์˜ ํฐ ์žฅ์• 
  • ํŠน์ • ํŒŒํ‹ฐ์…˜์˜ ์ปจ์Š˜ ์ค‘๋‹จ

kafka Exactly Once

  1. ๋ฉฑ๋“ฑ์„ฑ Producer : ์ค‘๋ณต๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ง‰์Œ
  2. Transaction
  • ์œ ์ง€ ๋น„์šฉ ์ ˆ๊ฐ์„ ์œ„ํ•ด ์ œ๊ฑฐํ•˜๊ธฐ๋กœ ๊ฒฐ์ •

์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ์œ„ํ•œ ๋…ธ๋ ฅ

  • Redis๋กœ ์บ์‹ฑ
  • API ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ํ•ด์‹œ๊ฐ’ ์ƒ์„ฑ -> Redis๋กœ ์บ์‹ฑํ•˜๋ฉฐ ์š”์ฒญ ์ค‘๋ณต ์ œ๊ฑฐ
  • Redis์— ๋ถ€ํ•˜๊ฐ€ ์™€์„œ ๋กค๋ฐฑ ์ง„ํ–‰

3๋ฐฐ ํŠธ๋ž˜ํ”ฝ์„ ์œ„ํ•œ ์—ฌ์ •

  • ์ดˆ๊ธฐ์—๋Š” ํŒŒํ‹ฐ์…˜ ์ˆ˜๋ฅผ 3๋ฐฐ๋กœ ๋Š˜๋ ค ํ•ด๊ฒฐํ•˜๋ ค ํ–ˆ์Œ
    -> ํ•˜์ง€๋งŒ ์ด๊ฒƒ์ด ๋‹ต์ด ์•„๋‹Œ ๊ฑธ ์•Œ๊ฒŒ ๋จ
  • ๋” ์ ์€ ์ˆ˜์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋” ๋งŽ์€ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐ›์•„์•ผ ํ–ˆ์Œ

1) ์•„์›ƒ๋ผ์ด์–ด ์ œ๊ฑฐ

  • 15๋ถ„ ์ด์ƒ ๋ฏธ์‘๋‹ต -> ๋ฆฌ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐœ์ƒ
  • FCM Timeout ์ฒ˜๋ฆฌ๋ฅผ ํ•ด๋„ ๋˜‘๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ
  • ๋ณ„๋„๋กœ TimeLimiter๋ฅผ ์ ์šฉํ•จ
    Sender <-> TimeLimiter <-> FCM

2) ๋™์‹œ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ฆ๊ฐ€ : ๋น„๋™๊ธฐ ์ „ํ™˜

  • ์ผ์‹œ์ ์ธ ์‹คํŒจ์— ๋Œ€ํ•ด์„œ๋Š” Dead Letter์— ๋„ฃ์€ ํ›„, ๋‚˜์ค‘์— ๋‹ค์‹œ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹
  • ์—ญํ• ์— ๋”ฐ๋ฅธ ์Šค๋ ˆ๋“œ ํ’€ ๋ถ„๋ฆฌ
  • ์‹ค์‹œ๊ฐ„์„ฑ, ๋ฐฐ์น˜์„ฑ, ๊ด‘๊ณ ์„ฑ

3) ๋ถˆํ•„์š”ํ•œ ์นดํ”„์นด ์š”์ฒญ ์ œ๊ฑฐ

4) ๋ฐฐ์น˜ ๋ฆฌ์Šค๋„ˆ ์ ์šฉ

  • ๋ฉ”์‹œ์ง€ ์ˆ˜๋งŒํผ ์ปค๋ฐ‹์ด ๋ฐœ์ƒ
  • ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ 1๋ฒˆ์˜ ์ปค๋ฐ‹์œผ๋กœ ์ „ํ™˜

๊ฒฐ๊ณผ

  • ํŒŒํ‹ฐ์…˜ ์ˆ˜ 720๊ฐœ -> 100๊ฐœ
  • 2๋ฐฐ ํŠธ๋ž˜ํ”ฝ ์ตœ๋Œ€ 1๋ถ„ ์ด๋‚ด ์ง€์—ฐ ๋ฐœ์†ก๊นŒ์ง€ ํ™•์ธ

<์ •๋ฆฌ>
๋‘ ๋ฒˆ์งธ ์„ธ์…˜์—์„œ๋Š” kafka ๋ฉ”์‹œ์ง€ ํ”Œ๋žซํผ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์žฅ์• ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ, ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐœ์„ ํ•œ ์Šคํ† ๋ฆฌ์— ๋Œ€ํ•ด ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์™ธ๋ถ€ ์žฅ์• ๊ฐ€ 70%์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ 2๋…„ ๊ฐ„ 41๊ฑด์˜ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒ์„ ํ•˜์˜€๊ณ , ํŠนํžˆ ์ž‘๋…„ 3๊ฑด์˜ ์น˜๋ช…์ ์ธ ์žฅ์• ๋กœ ์ธํ•ด์„œ ๋‹น์‹œ์˜ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ํŒ๋‹จ์„ ํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ธฐ์กด์—๋Š” Kafka Exactly Once ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ–ˆ์—ˆ์ง€๋งŒ, ์ด๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ๋กœ ๊ฒฐ์ •์„ ํ–ˆ๊ณ , Redis๋กœ ์บ์‹ฑ์„ ํ•ด ๋ณด๋Š” ๋“ฑ์˜ ๋…ธ๋ ฅ์ด ์žˆ์—ˆ๋‹ค.
๊ทธ๋Ÿฌ๋˜ ์ค‘ ์–ด๋Š ๋‚  3๋ฐฐ์˜ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด๋‹ฌ๋ผ๋Š” ์š”์ฒญ์ด ๋“ค์–ด์™”์œผ๋ฉฐ, ์‹ฌ์ง€์–ด ํŒŒํ‹ฐ์…˜ ์ˆ˜๋ฅผ ๋Š˜๋ ค์„œ ํ•ด๊ฒฐํ•  ์ˆ˜๋„ ์—†๋Š” ๊ตฌ์กฐ์˜€๋‹ค. ๋•Œ๋ฌธ์— ์•„์›ƒ๋ผ์ด์–ด ์ œ๊ฑฐ๋ฅผ ์œ„ํ•ด ๋ณ„๋„์˜ TimeLimiter๋ฅผ ๋งŒ๋“ค์–ด ์ ์šฉํ•˜๊ณ , ๋น„๋™๊ธฐ ์ „ํ™˜, ๋ฐฐ์น˜ ๋ฆฌ์Šค๋„ˆ ์ ์šฉ ๋“ฑ์„ ์ ์šฉํ•˜๋ฉฐ ๊ฒฐ๊ณผ์ ์œผ๋กœ ํŒŒํ‹ฐ์…˜ ์ˆ˜๋ฅผ 100๊ฐœ๊นŒ์ง€ ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

<๋Š๋‚€ ์ >
๐Ÿง‘๐Ÿปโ€๐Ÿ’ป
Kafka๋ฅผ ํ”„๋กœ์ ํŠธ์—์„œ ํ•œ ๋ฒˆ ์‚ฌ์šฉ์„ ํ•ด๋ด์„œ ๊ทธ๋‚˜๋งˆ ์กฐ๊ธˆ์ด๋ผ๋„ ์ดํ•ด๋ฅผ ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ด๋ ‡๊ฒŒ ๊ธฐ์—…์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์žฅ์• ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ์Šคํ† ๋ฆฌ๋ฅผ ๋“ค์œผ๋ฉฐ ๋Š๋ผ๋Š” ์ ์€, ๋™์ผํ•œ ๊ธฐ์ˆ ์ด์–ด๋„ ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ์ฒœ์ฐจ๋งŒ๋ณ„์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ๊ผญ ์–ด๋ ค์šด ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๊ฒŒ ์•„๋‹ˆ๋ผ, ํ•˜๋‚˜์˜ ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ๊นŠ์ด ์ดํ•ดํ•˜๊ณ  ์ด๋ฅผ ํ˜„์žฌ ์ƒํ™ฉ์— ๋งž์ถฐ ์ ์žฌ์ ์†Œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๋Š” ๊ฒŒ ๋” ์ค‘์š”ํ•  ๋“ฏ ํ•˜๋‹ค!
Kafka์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์šฉ์–ด ๋ฐ ๊ธฐ์ˆ , ๊ทธ๋ฆฌ๊ณ  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ๋“ค์„ ์ˆ˜ ์žˆ์–ด์„œ ์žฌ๋ฏธ์žˆ๋Š” ์„ธ์…˜์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค ๐Ÿ‘๐Ÿป


3. ์žฅ์•  ๊ฐ™์€๋ฐ? ์ผ๋‹จ STOP! : ๋ฐฐ๋‹ฌ ์„œ๋น„์Šค ์žฅ์• ๊ฐ์ง€/์ฐจ๋‹จ ์‹œ์Šคํ…œ ๊ตฌ์ถ• ๊ฒฝํ—˜๋‹ด - ๊น€์ง€์–ธ, ์ฒœ์€์ •๋‹˜

๋”œ๋ฆฌ๋ฒ„๋ฆฌํ”„๋กœ์„ธ์‹ฑํŒ€

  • ๊ณ ๊ฐ์ด ๋ฐฐ๋ฏผ ์•ฑ์—์„œ ์ฃผ๋ฌธํ•˜๋Š” ์ƒํ’ˆ์„ ๊ณ ๊ฐ์˜ ๋ฌธ ์•ž๊นŒ์ง€ ์ „๋‹ฌํ•˜๋Š” ๋ฐฐ๋‹ฌ ๊ณผ์ •์˜ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์„ ๋‹ด๋‹น

์žฅ์•  ์กฐ์น˜ ์‹œ๊ฐ„ ๋‹จ์ถ•์„ ์œ„ํ•œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ 3๊ฐ€์ง€

1. ๋น ๋ฅธ ์ด์ƒ์ƒํ™ฉ ๊ฐ์ง€

2. ์ฆ‰๊ฐ ์กฐ์น˜

3. ํšจ์œจ์ ์ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜

์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ• ๊นŒ?

  • ์˜ˆ์‹œ : ๋„์š”ํƒ€ ์ƒ์‚ฐ๊ณต์žฅ : ์•ˆ๋ˆ์‹œ์Šคํ…œ
  • ๊ณต์ •๋ณ„ ํ’ˆ์งˆ ์ƒํƒœ๋ฅผ ์•Œ๋ฆฌ๋Š” ํ’ˆ์งˆ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
  • ์•ˆ๋ˆ์‹œ์Šคํ…œ ์ปจ์…‰์„ ์ ์šฉํ•ด ๋ณด์ž!

๊ฐœ๋… ๋ฐ ํŒ๋‹จ ๊ธฐ์ค€ ์ •์˜

1. ์ด์ƒ์ƒํ™ฉ ๊ฐ์ง€ -> ์‚ฌ๋žŒ์ด ๊ฐœ์ž…ํ•ด์„œ ํŒ๋‹จํ•ด์•ผ ํ•จ

2. ํ’ˆ์งˆ ๊ธฐ์ค€ ์ง€ํ‘œ๋Š” ๋ญ˜๊นŒ?

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

ํ•„์š”ํ•œ ๊ฒƒ๋“ค์„ ๋” ๊ณ ๋ฏผํ•ด๋ณด์ž

  1. ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ๊ธฐ์ค€์„ ๊ณ„์† ๋ชจ๋‹ˆํ„ฐ๋งํ•  ํ•„์š”๋Š” ์—†์„๊นŒ?
  2. ์‹œ์Šคํ…œ์ด ์„ ์กฐ์น˜ ํ–ˆ๋Š”๋ฐ, ๋‹ค์‹œ ๋ณต๊ตฌํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜์ง€?
  3. ๋ณ€๊ฒฝ๋œ ์žฅ์• ํ”„๋กœ์„ธ์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์œ ๊ด€ ๋ถ€์„œ์™€ ์—ฐ๊ฒฐ ์ง“์ง€?

์ด์ƒ์ƒํ™ฉ ๊ฐ์ง€ ์ดํ›„ ํ”„๋กœ์„ธ์Šค

  • ์ด์ƒ์ƒํ™ฉ ๊ฐ์ง€ -> ์ฃผ๋ฌธ ์œ ์ž… ์กฐ์ ˆ -> ์œ ๊ด€๋ถ€์„œ์™€ ๋‹ด๋‹น์ž์—๊ฒŒ ํ•ด๋‹น ๋‚ด์šฉ ๊ณต์ง€ -> ์ดํ›„ ๋Œ€์‘ ๋งค๋‰ด์–ผ ์ œ๊ณต

์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์„๊นŒ?

  • ์ž๋™ํ™” ํ”„๋กœ์„ธ์Šค๋กœ 1๋ถ„ ์ด๋‚ด์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ์Œ
  • ํ•˜์ง€๋งŒ ์ฆ‰์‹œ ๋Œ€์‘ํ•˜์ง€ ๋ชป ํ•œ ๊ฒฝ์šฐ -> ์ฃผ๋ฌธ๋Ÿ‰ ์กฐ์ ˆ๋กœ ์ธํ•ด์„œ ์‚ฌ์—…์  ์†ํ•ด๋ฅผ ๋ณผ ์ˆ˜๋„ ์žˆ์—ˆ์Œ
  • ๊ทธ๋ž˜์„œ ์„ ์กฐ์น˜๊ฐ€ ๋งž์„๊นŒ? ํ•˜๋Š” ๊ณ ๋ฏผ์ด ๋ฐœ์ƒ
  • ์„ ์กฐ์น˜๋ฅผ ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ฃผ๋ฌธ์ด ์ทจ์†Œ๋  ์ˆ˜๋„ ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ธฐ์—, ๊ณ ๊ฐ ๊ฒฝํ—˜์„ ์šฐ์„ ์‹œํ•˜๋Š” ์ดˆ๊ธฐ์˜ ์ƒ๊ฐ์„ ๋ฐ”๊พธ์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ•จ

์ด๋ ‡๊ฒŒ ํ•ด๊ฒฐํ–ˆ์–ด์š”!

  • ์˜ต์Šค์ง€๋‹ˆ๋ผ๋Š” ํˆด์„ ์—ฐ๋™ํ•˜์—ฌ, ๋‹ด๋‹น์ž ํ˜ธ์ถœ ์ฒด๊ณ„๋ฅผ ๊ฐ•ํ™”ํ•จ
  • ์žฅ์•  ์—ฌ๋ถ€ ํŒ๋‹จ ์ง€ํ‘œ๋ฅผ ์ •์˜ํ•จ
  • ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์ถ•
  • ์—ญํ•  ์žฌ๋ถ„๋ฐฐ

๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฐฐ์šด ๊ฒƒ

  1. ๋ถ€๋‹ด๊ฐ์„ ์ฑ…์ž„๊ฐ์œผ๋กœ ์Šนํ™”์‹œํ‚ค๊ธฐ
  2. ๋ณธ์งˆ์ด ๋ฌด์—‡์ธ๊ฐ€?๋ฅผ ๋Š์ž„์—†์ด ๊ณ ๋ฏผํ•˜๊ธฐ
  3. ๋„“์€ ์‹œ๊ฐ์œผ๋กœ ํ”„๋กœ๋•ํŠธ๋ฅผ ๋ฐ”๋ผ๋ณด๊ธฐ
  • ๊ณ„์† ์งˆ๋ฌธ์„ ํ†ตํ•ด ์šฐ๋ฆฌ๋งŒ์˜ ์ •๋‹ต์„ ์ฐพ์•„ ๋‚˜๊ฐ€๋ณด๋ ค ํ•œ๋‹ค!

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

<๋Š๋‚€ ์ >
๐Ÿง‘๐Ÿปโ€๐Ÿ’ป ์„ธ ๋ฒˆ์งธ ์„ธ์…˜์€ ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ PM์˜ ํŠธ๋ž™์— ์ฐธ์—ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
๊ฐœ์ธ์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๊ทธ ๊ณผ์ •์—์„œ ๋Š๋‚€ ์ ์„ ๋“ฃ๋Š” ๊ฒƒ์ด ์žฌ๋ฏธ์žˆ์–ด์„œ ์ž์ฃผ ๋“ฃ๊ฒŒ ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ด๋ฒˆ์—๋Š” ์–ด๋– ํ•œ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์žˆ์–ด์„œ PM๋“ค์„ ์–ด๋–ค ์ƒ๊ฐ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€, ๋˜ ์–ด๋–ค ์ ๋“ค์„ ์ค‘์š”ํ•œ ๊ฐ€์น˜๋กœ ์‚ผ๊ณ  ์ง„ํ–‰ํ•˜๋Š”์ง€๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
ํŠนํžˆ ์„ ์กฐ์น˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งž์„์ง€์— ๋Œ€ํ•ด ๊ณ ๋ฏผ์„ ํ•œ ํ›„์—, ๋ณธ์งˆ์€ ๊ณ ๊ฐ ๊ฒฝํ—˜์„ ์šฐ์„ ์‹œ ํ•˜๋Š” ๊ฒƒ์ž„์„ ๋‹ค์‹œ ์ƒ๊ธฐํ•˜๋ฉฐ ์ดˆ๊ธฐ ์ƒ๊ฐํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ ์ˆ˜ํ•œ ์ ์ด ์ธ์ƒ ๊นŠ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ƒ๊ฐํ•œ ๋Œ€๋กœ ์ผ์ด ํ˜๋Ÿฌ๊ฐ€์ง€ ์•Š์„ ๋•Œ, ๋ณธ์งˆ์„ ์ž˜ ์ƒ๊ฐํ•˜์ง€ ๋ชป ํ•˜๊ณ  ์ƒํ™ฉ์— ๋งž์ถฐ ๋ฐ”๊ฟ”๋ฒ„๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ, ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์ •์ฒด์„ฑ์„ ์žƒ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.
๊ฐ€๊นŒ์šด ๊ฑฐ๋ฆฌ์—์„œ ์žฌ๋ฏธ์žˆ๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์•„์„œ ์ข‹์•˜๊ณ , ๋‚˜๋„ ์ผ์ด ์ž˜ ๋˜์ง€ ์•Š์„ ๋•Œ ํ•ญ์ƒ ๋ณธ์งˆ์€ ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด ๋– ์˜ฌ๋ ค๋ณด์•„์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค ๐Ÿ‘๐Ÿป


4. DDD ๊ทธ๊ฑฐ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฑฐ ์•„๋‹Œ๋ฐ - ๋ฐ•์žฌ์„ฑ๋‹˜

๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„

  • ๋„๋ฉ”์ธ ๋ชจ๋ธ์˜ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ๊ตฌํ˜„์œผ๋กœ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋„๋ฉ”์ธ์„ ํƒ์ƒ‰ํ•˜๊ณ  ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์›์น™๊ณผ ํŒจํ„ด
  • ๊ฐœ๋…์  ๊ธฐ๋ฐ˜์€ ๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ์• ์ž์ผ

์™„๋ฒฝํ•œ ์„ค๊ณ„

  • ์™„๋ฒฝํ•œ ์„ค๊ณ„๋ž€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์š”๊ตฌ ์‚ฌํ•ญ์€ ๋Š์ž„์—†์ด ๋ณ€ํ™”ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๊ธฐํš์ž์กฐ์ฐจ๋„ ์ด๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ•œ๋‹ค.

์œ ๋น„์ฟผํ„ฐ์Šค ์–ธ์–ด

  • ํด๋ž˜์Šค๋‚˜ ํ•จ์ˆ˜์˜ ์ด๋ฆ„์„ ์ง“๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค -> ์œ ๋น„์ฟผํ„ฐ์Šค ์–ธ์–ด๋ฅผ ๋„์ž…ํ•œ๋‹ค
  • ๊ฐœ๋ฐœ์ž๋งŒ ์˜๋ฌธ ์ด๋ฆ„์„ ๊ณ ๋ฏผํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค
  • ๋ฐ”์šด๋””๋“œ ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ๋งŒ ์ •์˜ํ•  ํ•„์š”๋Š” ์—†๋‹ค
  • ํ•œ๊ธ€, ์˜๋ฌธ ์ด๋ฆ„์„ ๋ชจ๋‘ ์ •ํ•˜๊ณ  ์šฉ์–ด ์‚ฌ์ „์— ๊ธฐ๋กํ•œ๋‹ค

์šฉ์–ด ์‚ฌ์ „

  • ์‚ด์•„์žˆ๋Š” ๋ฌธ์„œ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด, ํ”„๋กœ์ ํŠธ์— ๋ฆฌ๋“œ๋ฏธ ํŒŒ์ผ๋กœ ์œ ์ง€ ๊ด€๋ฆฌํ•œ๋‹ค
  • ์šฉ์–ด๋„ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋Œ€์ƒ์ด๋‹ค
  • ํšŒ์˜ & ๊ธฐํš & ๋””์ž์ธ & ๊ฐœ๋ฐœ ๋“ฑ ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ๊ณณ์—์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋…ธ๋ ฅํ•œ๋‹ค

์ธ์ˆ˜ ํ…Œ์ŠคํŠธ

  • ๊ณ ๊ฐ, ๊ฐœ๋ฐœ์ž, ํ…Œ์Šคํ„ฐ๊ฐ€ ํ•จ๊ป˜ ์ž‘์„ฑํ•˜๋Š” ํ…Œ์ŠคํŠธ
  • ๊ณ ๊ฐ์˜ ๊ด€์ ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊ณ ๋ คํ•œ๋‹ค

๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ

  • ์†Œํ”„ํŠธ์›จ์–ด๋กœ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ ์˜์—ญ
  • ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ํ™œ๋™์ด๋‚˜ ๊ด€์‹ฌ์‚ฌ์™€ ๊ด€๋ จ
  • ๋‹ค๋ฅธ ์‚ฐ์—… ๋‚ด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค๋Š” ์ ์—์„œ ๋…ํŠนํ•จ

๋ฐ”์šด๋””๋“œ ์ปจํ…์ŠคํŠธ

  • ๋ฐ”์šด๋””๋“œ ์ปจํ…์ŠคํŠธ : ํŠน์ • ๋„๋ฉ”์ธ ๋ชจ๋ธ์ด ์ ์šฉ๋˜๋Š” ๊ฒฝ๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฐœ๋…
  • ์ปดํ“จํ„ฐ์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ๋ถ„ํ• ๊ณผ ์ •๋ณต ํ™œ์šฉ
  • ํŒ€์ด ์ด๋ฏธ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋‹ค๋ฉด? -> ์ฝ˜์›จ์ด์˜ ๋ฒ•์น™
  • ํŒ€์ด ์•„์ง ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด -> ์—ญ์ฝ˜์›จ์ด์˜ ๋ฒ•์น™

์ฝ˜์›จ์ด์˜ ๋ฒ•์น™ : ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์กฐ๋Š” ํ•ด๋‹น ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•œ ์กฐ์ง์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๊ตฌ์กฐ๋ฅผ ๋‹ฎ๊ฒŒ ๋œ๋‹ค.
์—ญ์ฝ˜์›จ์ด์˜ ๋ฒ•์น™ : ์–ด๋–ค ์ ์—์„œ๋Š” ๊ฐœ๋ฐœ์ž๋„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์™€ ๊ฐ™์„ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
๋งํฌ

๋ณต์žก์„ฑ์„ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ด ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ณธ์งˆ

์€์ด์•Œ์€ ์—†๋‹ค

  • ์ƒ์‚ฐ์„ฑ, ์‹ ๋ขฐ์„ฑ, ๋‹จ์ˆœ์„ฑ์„ 10๋ฐฐ ์ด์ƒ ํ–ฅ์ƒ์‹œํ‚ฌ ๋ฐœ์ „์€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค
  • ๋งํฌ

๊ฒฐ๋ก 

  1. DDD๋Š” ๊ฐœ๋ฐœ์ž๋งŒ์ด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜๋Š” ์‚ฌ๋žŒ์ด ์•„๋‹ˆ๋ผ๋Š” ์ ์„ ์ƒ๊ธฐ์‹œ์ผœ์ค€๋‹ค
  2. ์ข‹์€ DDD๋Š” "DDD์—์„œ๋Š”"์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค
  3. DDD๋Š”

์ถ”์ฒœ ๋„์„œ

  1. ์†Œํ”„ํŠธ์›จ์–ด ์žฅ์ธ
  2. ํŒ€ ํ† ํด๋กœ์ง€
  3. ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ 101

<์ •๋ฆฌ>
๋„ค ๋ฒˆ์งธ ์„ธ์…˜์—์„œ๋Š” ๋„๋ฉ”์ธ์ฃผ๋„ ์„ค๊ณ„์™€ ๊ด€๋ จํ•œ ๋‚ด์šฉ๋“ค์„ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„๋ž€ ๋ฌด์—‡์ธ์ง€ ๊ทธ ๋ณธ์งˆ์— ๋Œ€ํ•ด ์•Œ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋˜ํ•œ ์œ ๋น„์ฟผํ„ฐ์Šค ์–ธ์–ด, ์ฆ‰ ํŒ€์›๋“ค์ด ๋ชจ๋‘ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋ฅผ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๋ง์”€ํ•ด์ฃผ์…จ๋‹ค. ๋ณดํ†ต ๊ฐœ๋ฐœ์ž๋งŒ ํŒจํ‚ค์ง€, ํ•จ์ˆ˜, ๋ณ€์ˆ˜๋ช… ๋“ฑ์„ ๊ณ ๋ฏผํ•˜๊ณค ํ•˜๋Š”๋ฐ, ๊ทธ๋Ÿด ํ•„์š”๊ฐ€ ์—†์ด ํ•จ๊ป˜ ๊ณ ๋ฏผํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•˜์…จ๋‹ค. ์ด๋ฅผ ์šฉ์–ด ์‚ฌ์ „์— ์ •๋ฆฌ๋ฅผ ํ•ด๋‘” ํ›„์—, ํšŒ์˜ & ๊ธฐํš & ๋””์ž์ธ & ๊ฐœ๋ฐœ ๋“ฑ ํ”„๋กœ์ ํŠธ ๋ชจ๋“  ๊ณณ์—์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋…ธ๋ ฅํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

<๋Š๋‚€ ์ >
๐Ÿง‘๐Ÿปโ€๐Ÿ’ป DDD์— ๋Œ€ํ•ด์„œ ๋“ค์„ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด์—ˆ๋Š”๋ฐ, ์•„์ง ๊ณต๋ถ€ํ•ด ๋ณธ ์ ์ด ์—†์–ด ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜์ง€๋Š” ๋ชป ํ•œ ๋“ฏํ•˜๋‹ค. TDD, DDD๋Š” ์ค‘์š”ํ•œ ์•„ํ‚คํ…์ฒ˜์ด๊ธฐ์— ๋‹ค์Œ์— ๊ผญ ๊ณต๋ถ€ํ•ด๋ณด์•„์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.
ํŠนํžˆ ์œ ๋น„์ฟผํ„ฐ์Šค ์–ธ์–ด์™€ ์šฉ์–ด ์‚ฌ์ „ ๋ถ€๋ถ„์ด ํฅ๋ฏธ๋กœ์› ๋Š”๋ฐ, ์ƒ๊ฐํ•ด ๋ณด๋ฉด ์™œ ๊ฐœ๋ฐœ์ž๋งŒ ์ด๋Ÿฌํ•œ ์˜๋ฌธ ์ด๋ฆ„์„ ๊ณ ๋ฏผํ•ด์•ผํ•˜์ง€? ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์ตœ๊ทผ์—๋„ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๊ธฐํš & ๋””์ž์ธ์ด ์‚ฌ์šฉํ•˜๋Š” ์šฉ์–ด์™€ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์˜๋ฌธ ์šฉ์–ด๊ฐ€ ๋‹ฌ๋ผ์„œ ์ด๋ฅผ ๋งž์ถ”๋Š๋ผ ๊ณ ๋ฏผํ–ˆ๋˜ ์ ์ด ์žˆ์—ˆ๋‹ค. ๋•Œ๋ฌธ์— ์ด๋ฅผ ์šฉ์–ด ์‚ฌ์ „์œผ๋กœ ํ•œ ๊ณณ์— ์ •๋ฆฌํ•ด ๋‘๊ณ  ํŒ€์› ๋‹ค๊ฐ™์ด ์ด๋ฅผ ๋งž์ถฐ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.
์•„์ง ๊ณ ๋ฏผ์€ ์กฐ๊ธˆ ๋” ํ•ด๋ณด์•„์•ผ๊ฒ ์ง€๋งŒ, ์‹ค์ œ๋กœ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด ๋ณด๊ณ  ์‹ถ์€ ์ƒˆ๋กœ์šด ๋ถ€๋ถ„๋“ค์„ ๋“ค์„ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค ๐Ÿ‘๐Ÿป


5. 200์—ฌ ๊ฐœ์˜ ๋ฐฑ์˜คํ”ผ์Šค์— ์ธ์ฆ/์ธ๊ฐ€, ์ปดํ”Œ๋ผ์ด์–ธ์Šค ์ ์šฉํ•˜๊ธฐ - ์ดํ˜„์žฌ๋‹˜

  • ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค ์‚ฌ๋‚ด ๋ฐฑ์˜คํ”ผ์Šค ๊ฐœ์ˆ˜๋Š” 206๊ฐœ

๋ฌธ์ œ์ 

  1. ์ปดํ”Œ๋ผ์ด์–ธ์Šค ๊ด€๋ฆฌ์˜ ์–ด๋ ค์›€
  2. ๋™์ผ ๊ธฐ๋Šฅ ์ค‘๋ณต ๊ฐœ๋ฐœ
  3. ์‚ฌ์šฉ์ž์˜ ์‚ฌ์šฉ ๊ฒฝํ—˜ ์ €ํ•˜

์ธ์ฆ

  • 1์ธ 1๊ณ„์ • ๋ฐœ๊ธ‰, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž‘์„ฑ/๋ณ€๊ฒฝ ๊ทœ์น™, ๋กœ๊ทธ์ธ ๋งŒ๋ฃŒ ์ •์ฑ… ๋“ฑ..
  • ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ 1๊ฐœ๋กœ ํ†ต์ผ์‹œํ‚ด

SSO (Single Sign On)

  • SAML, OIDC ํ”„๋กœํ† ์ฝœ๋กœ ๋ณดํ†ต ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ
  • ์ธ์ฆ ๊ธฐ๋Šฅ (w/ SSO, 2FA ...) ์ง€์›, ์ปดํ”Œ๋ผ์ด์–ธ์Šค ๊ด€๋ฆฌ

์ •์ฑ…๊ณผ ๊ถŒํ•œ

  • ์ •์ฑ… : ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ–‰์œ„ (HTTP API)

  • ๊ถŒํ•œ : ์ •์ฑ…์˜ ๊ทธ๋ฃน

URL Base๋กœ ์ ‘๊ทผ ์ œํ•œ

  • ์ž์› + ํ–‰๋™์„ ๊ฐ€์žฅ ์ž˜ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด API (Path + Method)

<์ •๋ฆฌ>
์šฐ์•„ํ•œํ˜•์ œ๋“ค ์‚ฌ๋‚ด ๋ฐฑ์˜คํ”ผ์Šค ๊ฐœ์ˆ˜๋Š” 206๊ฐœ๋กœ ๋งŽ์€๋ฐ, ๊ธฐ์กด์—๋Š” ๊ฐ๊ฐ ๋ชจ๋‘ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‹ค. ๋•Œ๋ฌธ์— ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ 1๊ฐœ๋กœ ํ†ต์ผํ•˜๋Š” ๋“ฑ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐœ์„ ์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ํŠนํžˆ ๋‹ค๋ฅธ ๋ฐฉ์‹์ด ์•„๋‹Œ URL Base๋กœ ์ ‘๊ทผ ์ œํ•œ์„ ํ•˜์˜€๋Š”๋ฐ, ์™œ๋ƒํ•˜๋ฉด ์ž์›๊ณผ ํ–‰๋™์„ ๊ฐ€์žฅ ์ž˜ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด API ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. (์ž์›์€ Path๋กœ, ํ–‰๋™์€ Method๋กœ) ์ด์— ๋Œ€ํ•œ ๊ถŒํ•œ ๊ด€๋ฆฌ๋Š” 1) ์ •์ฑ…๊ณผ 2) ๊ถŒํ•œ์œผ๋กœ ๋‚˜๋ˆ„์—ˆ๋Š”๋ฐ, ์ •์ฑ…์€ ์‚ฌ์šฉํ•˜๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ–‰์œ„, ์ฆ‰ HTTP API ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋ฉฐ, ๊ถŒํ•œ์€ ์ •์ฑ…์„ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ๋‚˜๋ˆˆ ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

<๋Š๋‚€ ์ >
๐Ÿง‘๐Ÿปโ€๐Ÿ’ป ๋งˆ์ง€๋ง‰ ์„ธ์…˜์œผ๋กœ๋Š” ๋ฐฑ์˜คํ”ผ์Šค์— ์ธ์ฆ/์ธ๊ฐ€, ์ปดํ”Œ๋ผ์ด์–ธ์Šค๋ฅผ ์ ์šฉํ•˜๋Š” ๋‚ด์šฉ์„ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ฐฑ์˜คํ”ผ์Šค๋ผ๋Š” ์šฉ์–ด๋Š” ์ฒ˜์Œ ๋“ค์—ˆ๋Š”๋ฐ ์–ด๋“œ๋ฏผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๋“ฏํ•˜๋‹ค. ๋˜ํ•œ ์ปดํ”Œ๋ผ์ด์–ธ์Šค๋„ ์ฒ˜์Œ ๋“ค์—ˆ๋Š”๋ฐ, ๋ฒ•๊ทœ ์ค€์ˆ˜ ์‹œ์Šคํ…œ์ด๋ผ๋Š” ๋œป์œผ๋กœ ํšŒ์‚ฌ๊ฐ€ ์ž๋ฐœ์ ์œผ๋กœ ๊ด€๋ จ ๋ฒ•๋ ฅ์„ ์ค€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์œ„ํ—˜์„ ํ†ต์ œํ•˜๊ณ  ์‚ฌ์ „ ์กฐ์น˜๋ฅผ ์ทจํ•˜๋Š” ํ–‰์œ„๋‚˜ ์ •์ฑ…์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.
ํ•ด๋‹น ์„ธ์…˜์—์„œ๋Š” ์‹ค์ œ๋กœ ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค์˜ ๋ฐฑ์˜คํ”ผ์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€, ์–ด๋–ป๊ฒŒ ์ •์ฑ…๊ณผ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์•Œ์•„์„œ ์‹ ๊ธฐํ•˜๊ณ  ํฅ๋ฏธ๋กœ์› ๋˜ ๊ฒƒ ๊ฐ™๋‹ค! ์ตœ๊ทผ ๋“ค์–ด Spring Security๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉฐ ๋ณด์•ˆ ๋ฐ ์ธ์ฆ์ธ๊ฐ€์— ๊ด€์‹ฌ์ด ์กฐ๊ธˆ ๋” ์ƒ๊ธดํ„ฐ๋ผ ๋”์šฑ ์žฌ๋ฏธ์žˆ๊ฒŒ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค ๐Ÿ‘๐Ÿป


๐Ÿ›๏ธ ๊ธฐํƒ€ ๋ณผ๊ฑฐ๋ฆฌ ๋ฐ ๊ตฟ์ฆˆ

๊ธฐํƒ€ ๋ณผ๊ฑฐ๋ฆฌ

์„ธ์…˜ ์™ธ์—๋„ ๋ณผ๋งŒํ•œ ๊ฒƒ๋“ค์ด ๋งŽ์•˜๋‹ค!

์ด๋ ‡๊ฒŒ ๋‹ค์–‘ํ•œ ์ด๋ฒคํŠธ๋‚˜ ๋„คํŠธ์›Œํ‚น์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„๋“ค๋„ ์žˆ์—ˆ์œผ๋ฉฐ,

๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ ์‡ผํ•‘ ์•ฑ์€ ์–ด๋– ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ๋Š”์ง€๋„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ์—๋„ ์ด์ œ AI๋ฅผ ๋„์ž…ํ•˜๋ ค๊ณ  ํ•˜๋Š” ๋“ฏ ํ•œ๋ฐ,
๊ฐ„๋‹จํ•˜๊ฒŒ ์ฒดํ—˜ํ•ด ๋ณธ ํ›„์— 2์ฒœ์› ์ƒํ’ˆ๊ถŒ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค!
๋ฐฉ๊ธˆ ์ž˜ ์‚ฌ์šฉํ–ˆ๋‹ค ใ…Žใ…Ž

๊ตฟ์ฆˆ

์ž…์žฅํ•  ๋•Œ ์œ„์™€ ๊ฐ™์ด ๊ตฟ์ฆˆ๋“ค์ด ๋‹ด๊ธด ํŒŒ์šฐ์น˜๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค!

๋‚ด๋ถ€ ๊ตฌ์„ฑ์€ ํ‹ฐ์…”์ธ , ํŒœํ”Œ๋ ›, ์ฟ ํ‚ค, ์Šคํ‹ฐ์ปค๊ฐ€ ์žˆ์—ˆ๋‹ค!
์Šคํ‹ฐ์ปค๋„ ๋‚˜๋ฆ„ ๊ท€์—ฝ๊ณ , ํ‹ฐ์…”์ธ ๋„ ํŽธํ•ด์„œ ์ง‘์—์„œ ๊ฐœ๋ฐœํ•  ๋•Œ ์• ์šฉํ•˜๋ ค ํ•œ๋‹ค ๐Ÿง‘๐Ÿปโ€๐Ÿ’ป


๐Ÿ’ก ๋Š๋‚€ ์ 

  1. ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค์ด ๋ˆ์„ ๋งŽ์ด ๋ฒŒ์—ˆ๊ตฌ๋‚˜...์ปจํผ๋Ÿฐ์Šค ์žฅ์†Œ๊ฐ€ ๋„ˆ๋ฌด ์ข‹์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์•Œ์•„๋ณด๋‹ˆ ์ž‘๋…„์—๋„ ๋™์ผํ•œ ๊ณณ์—์„œ ํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค! ์˜์ž๋“ค๋„ ํŽธํ–ˆ๊ณ  ๋‚ด๋ถ€๊ฐ€ ์พŒ์ ํ•ด์„œ ์„ธ์…˜์— ์ž˜ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
  2. ์ธ์›์ด ๋งŽ์€๋ฐ๋„ ํ†ต์ œ๊ฐ€ ์ž˜ ๋˜์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์Šคํƒœํ”„๋‚˜ ์„ธ์…˜ ๊ฐ•์—ฐ์ž ๋“ฑ ๋ชจ๋‘ ์ผ์„ ๊น”๋”ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ธ์ƒ์ด ๋“ค์—ˆ๋‹ค.
  3. ํŠธ๋ž™์ด ๋‹ค์–‘ํ–ˆ๊ณ , ๋‹ค๋ฅธ ํŠธ๋ž™์— ๊ฐ€์„œ ์ž์œ ๋กญ๊ฒŒ ๋“ค์„ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค! ๊ณ„์†ํ•ด์„œ ๊ธฐ์ˆ ์ ์ธ ์ด์•ผ๊ธฐ๋งŒ ๋“ฃ๋‹ค ๋ณด๋ฉด ํž˜์ด ๋“ค ์ˆ˜ ์žˆ์–ด์„œ.. ์ค‘๊ฐ„์— ํ•œ ๋ฒˆ ํ™˜๊ธฐํ•˜๋ฉด์„œ ์žฌ๋ฏธ์žˆ๊ฒŒ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  4. ๋„คํŠธ์›Œํ‚น, ๋ฉ˜ํ† ๋ง, ์ด๊ทธ๋‚˜์ดํŠธ ํŠธ๋ž™ ๋“ฑ ์ฐธ์—ฌํ•˜์ง€๋Š” ๋ชป ํ–ˆ์ง€๋งŒ ์ฐธ๊ฐ€์ž๋“ค์ด ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ์žฅ์น˜๋“ค์„ ๋งˆ๋ จํ•ด๋‘” ๊ฒƒ ๊ฐ™์•„์„œ ์ค€๋น„๋ฅผ ์ž˜ํ•œ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.
  5. ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค, ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ์—์„œ๋Š” ์–ด๋– ํ•œ ๊ธฐ์ˆ ๋“ค์„ ์‚ฌ์šฉํ•˜๊ณ  ์–ด๋–ค ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋“ค์„ ์ˆ˜ ์žˆ์–ด์„œ ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค. ์ƒ๊ฐํ•œ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ์Šค์ผ€์ผ์ด ์ปธ๊ธฐ์—, ๋‚ด ์ƒ๊ฐ๋ณด๋‹ค ๋” ํฐ ๊ธฐ์—…์ด๊ตฌ๋‚˜๋ผ๋Š” ๊ฑธ ๊นจ๋‹ซ์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
profile
์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€