ํŽธ๋ฆฌํ•œ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

ํ—ค์ด ํ•˜๋ธŒ๋ฅด!

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

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

์ˆ˜ํ‰์  ํ™•์žฅ

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

์˜ˆ๋ฅผ ๋“ค์–ด, OwnCloud, OneDrive ๋“ฑ๊ณผ ์œ ์‚ฌํ•œ ์ถ”์ƒ ํด๋ผ์šฐ๋“œ ํŒŒ์ผ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํšŒ๋กœ์˜ ํ‘œ์ค€ ๊ทธ๋ฆผ์€ ์•„๋ž˜์— ์žˆ์ง€๋งŒ ์‹œ์Šคํ…œ์˜ ๋ณต์žก์„ฑ๋งŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ์šฐ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ๋“  ์„œ๋น„์Šค๋ฅผ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํƒœ๋ธ”๋ฆฟ์—์„œ ํŒŒ์ผ์„ ์ €์žฅํ•œ ๋‹ค์Œ ํœด๋Œ€ํฐ์—์„œ ์ด๋ฅผ ๋ณด๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ฉ๋‹ˆ๊นŒ?

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

CQRS

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

์ด ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ฒซ ๋ฒˆ์งธ ๋ณด๋„ˆ์Šค๋Š” ๊ธด ์š”์ฒญ์„ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ์—ฐ๊ฒฐ์„ ๋Š๋Š” ๊ธฐ๋Šฅ(๋„“์€ ์˜๋ฏธ์—์„œ)์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์†Œ ํ‘œ์ค€์ ์ธ ์‹œํ€€์Šค๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.
  2. ์„œ๋ฒ„๊ฐ€ ๊ธด ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.
  3. ์„œ๋ฒ„๋Š” ๊ฒฐ๊ณผ๋กœ ํด๋ผ์ด์–ธํŠธ์— ์‘๋‹ตํ–ˆ์Šต๋‹ˆ๋‹ค.

์ง€์  2์—์„œ ์—ฐ๊ฒฐ์ด ๋Š์–ด์กŒ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค(๋˜๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ๋‹ค์‹œ ์—ฐ๊ฒฐ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์—ฌ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง). ์ด ๊ฒฝ์šฐ ์„œ๋ฒ„์—์„œ ์ •ํ™•ํžˆ ์–ด๋–ค ์ž‘์—…์ด ์ฒ˜๋ฆฌ๋˜์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ์‘๋‹ต์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด๋‚ด๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. CQRS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ˆœ์„œ๊ฐ€ ์•ฝ๊ฐ„ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ตฌ๋…ํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.
  3. ์„œ๋ฒ„๊ฐ€ "์š”์ฒญ ์ˆ˜๋ฝ๋จ"์ด๋ผ๊ณ  ์‘๋‹ตํ–ˆ์Šต๋‹ˆ๋‹ค.
  4. ์„œ๋ฒ„๋Š” "1" ์ง€์ ์˜ ์ฑ„๋„์„ ํ†ตํ•ด ๊ฒฐ๊ณผ๋กœ ์‘๋‹ตํ–ˆ์Šต๋‹ˆ๋‹ค.

ํŽธ๋ฆฌํ•œ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

๋ณด์‹œ๋‹ค์‹œํ”ผ, ๊ณ„ํš์€ ์กฐ๊ธˆ ๋” ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ๋”์šฑ์ด ์—ฌ๊ธฐ์—๋Š” ์ง๊ด€์ ์ธ ์š”์ฒญ-์‘๋‹ต ์ ‘๊ทผ ๋ฐฉ์‹์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ณด์‹œ๋‹ค์‹œํ”ผ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ ธ๋„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์‹ค์ œ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ ์žฅ์น˜(์˜ˆ: ํœด๋Œ€ํฐ ๋ฐ ํƒœ๋ธ”๋ฆฟ)์—์„œ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ ์‘๋‹ต์ด ๋‘ ์žฅ์น˜ ๋ชจ๋‘์— ์ œ๊ณต๋˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํฅ๋ฏธ๋กญ๊ฒŒ๋„ ๋“ค์–ด์˜ค๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๋Š” ํด๋ผ์ด์–ธํŠธ ์ž์ฒด์˜ ์˜ํ–ฅ์„ ๋ฐ›์€ ์ด๋ฒคํŠธ์™€ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ์˜ ์ด๋ฒคํŠธ๋ฅผ ํฌํ•จํ•œ ๋‹ค๋ฅธ ์ด๋ฒคํŠธ ๋ชจ๋‘์— ๋Œ€ํ•ด ๋™์ผํ•ฉ๋‹ˆ๋‹ค(100% ์•„๋‹˜).

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

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

์ด๋ฒคํŠธ ์†Œ์‹ฑ

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

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

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

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

ํŽธ๋ฆฌํ•œ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

์ด ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ค‘์š”ํ•œ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋“ค์–ด์˜ค๋Š” ๊ฐ ์š”์ฒญ์€ ํ•˜๋‚˜์˜ ๋Œ€๊ธฐ์—ด์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค.
  • ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ์„œ๋น„์Šค๋Š” ์ž‘์—…์„ ๋‹ค๋ฅธ ๋Œ€๊ธฐ์—ด์— ๋ฐฐ์น˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ ์ˆ˜์‹  ์ด๋ฒคํŠธ์—๋Š” ์‹๋ณ„์ž(์ค‘๋ณต ์ œ๊ฑฐ์— ํ•„์š”ํ•จ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋Œ€๊ธฐ์—ด์€ "์ถ”๊ฐ€ ์ „์šฉ" ๊ตฌ์„ฑํ‘œ์— ๋”ฐ๋ผ ์ด๋…์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ์žฌ๋ฐฐ์—ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋Œ€๊ธฐ์—ด์€ FIFO ๋ฐฉ์‹์— ๋”ฐ๋ผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ณ‘๋ ฌ ์‹คํ–‰์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํ•œ ๋‹จ๊ณ„์—์„œ ๊ฐœ์ฒด๋ฅผ ๋‹ค๋ฅธ ๋Œ€๊ธฐ์—ด๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์˜จ๋ผ์ธ ํŒŒ์ผ ์ €์žฅ์˜ ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Œ์„ ์ƒ๊ธฐ์‹œ์ผœ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํŽธ๋ฆฌํ•œ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์„œ๋น„์Šค๊ฐ€ ๋ฐ˜๋“œ์‹œ ๋ณ„๋„์˜ ์„œ๋ฒ„๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ผ๋Š” ์ ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ๊ทธ ๊ณผ์ •๋„ ๊ฐ™์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ์ ์€ ์ด๋…์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ๊ฒƒ๋“ค์ด ์ˆ˜ํ‰์  ํ™•์žฅ์„ ์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‘ ๋ช…์˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค(๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์„œ๋น„์Šค๋Š” ๋‹ค๋ฅธ ์ƒ‰์ƒ์œผ๋กœ ํ‘œ์‹œ๋จ).

ํŽธ๋ฆฌํ•œ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

์ด๋Ÿฌํ•œ ์กฐํ•ฉ์œผ๋กœ ์ธํ•œ ๋ณด๋„ˆ์Šค:

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

๊ทธ๋Ÿฌ๋‚˜ ๋‹จ์ ์€ ์ฆ‰์‹œ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค.

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

๋ณด์‹œ๋‹ค์‹œํ”ผ ์ด๋ฒคํŠธ ์†Œ์‹ฑ์€ CQRS์™€ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋”์šฑ์ด ํšจ์œจ์ ์ด๊ณ  ํŽธ๋ฆฌํ•œ ๋Œ€๊ธฐ์—ด์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š๊ณ  ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ์ด๋ฏธ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋Œ€๊ธฐ์—ด์˜ ๊ธ์ •์ ์ธ ํšจ๊ณผ ์ „์ฒด๋ฅผ ๋ฌด๋ ฅํ™”ํ•  ๋™๊ธฐํ™” ์ง€์ ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋™์‹œ์— ์ ์šฉํ•˜๋ ค๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ๋ฅผ ์•ฝ๊ฐ„ ์กฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ์„œ๋ฒ„์— ํŒŒ์ผ์„ ๋ณด๋‚ผ ๋•Œ "ok"๋ผ๋Š” ์‘๋‹ต๋งŒ ๋‚˜์˜ค๋ฉฐ ์ด๋Š” "ํŒŒ์ผ ์ถ”๊ฐ€ ์ž‘์—…์ด ์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค"๋ผ๋Š” ์˜๋ฏธ๋งŒ ์ž…๋‹ˆ๋‹ค. ๊ณต์‹์ ์œผ๋กœ ์ด๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋ฏธ ๋‹ค๋ฅธ ์žฅ์น˜์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค(์˜ˆ: ์ค‘๋ณต ์ œ๊ฑฐ ์„œ๋น„์Šค๊ฐ€ ์ธ๋ฑ์Šค๋ฅผ ์žฌ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Œ). ๊ทธ๋Ÿฌ๋‚˜ ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” "ํŒŒ์ผ X๊ฐ€ ์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค."๋ผ๋Š” ํ˜•์‹์˜ ์•Œ๋ฆผ์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ :

  • ํŒŒ์ผ ์ „์†ก ์ƒํƒœ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ "ํŒŒ์ผ ์ „์†ก๋จ" ๋Œ€์‹  "ํŒŒ์ผ์ด ์„œ๋ฒ„์˜ ๋Œ€๊ธฐ์—ด์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค."์™€ "ํŒŒ์ผ์ด ์ €์žฅ์†Œ์— ์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค."๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ƒํƒœ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ›„์ž๋Š” ๋‹ค๋ฅธ ์žฅ์น˜๊ฐ€ ์ด๋ฏธ ํŒŒ์ผ ์ˆ˜์‹ ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค(๋Œ€๊ธฐ์—ด์ด ๋‹ค๋ฅธ ์†๋„๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์— ๋งž๊ฒŒ ์กฐ์ •๋จ).
  • ์ด์ œ ์ œ์ถœ ์ •๋ณด๊ฐ€ ๋‹ค์–‘ํ•œ ์ฑ„๋„์„ ํ†ตํ•ด ์ œ๊ณต๋˜๋ฏ€๋กœ ํŒŒ์ผ ์ฒ˜๋ฆฌ ์ƒํƒœ๋ฅผ ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ธฐ์กด ์š”์ฒญ-์‘๋‹ต๊ณผ ๋‹ฌ๋ฆฌ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด ์ฒ˜๋ฆฌ ์ž์ฒด์˜ ์ƒํƒœ๋Š” ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์ด ํ•ญ๋ชฉ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ์ด์ œ ์‹คํŒจ์— ๋” ๊ด€๋Œ€ํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

์ƒค๋”ฉ

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

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

ํŽธ๋ฆฌํ•œ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

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

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

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

๋”ฐ๋ผ์„œ ํŒŒ์ผ์˜ ์˜จ๋ผ์ธ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์˜ˆ๋ฅผ ๊ณ„์†ํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์•„ํ‚คํ…์ฒ˜๋Š” ์ด๋ฏธ ๋งŽ์€ ๋ณด๋„ˆ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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

์ •์  ์ฝ˜ํ…์ธ  ํ˜ธ์ŠคํŒ…

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

์ •์  ์ฝ˜ํ…์ธ ์˜ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ณ  ํ‘œ์ค€์ ์ธ ์˜ˆ๋Š” ์›น์‚ฌ์ดํŠธ์˜ ์Šคํฌ๋ฆฝํŠธ์™€ ์ด๋ฏธ์ง€ ์„ธํŠธ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ „์— ์•Œ๋ ค์ง„ ๋‹ค์Œ ์•„์นด์ด๋ธŒ๊ฐ€ CDN ์„œ๋ฒ„์— ์—…๋กœ๋“œ๋˜์–ด ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

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

  • ์„œ๋ฒ„๋Š” ๋‹ค์šด๋กœ๋“œ URL์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. file_id + key ํ˜•์‹์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ key๋Š” ๋‹ค์Œ 24์‹œ๊ฐ„ ๋™์•ˆ ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฏธ๋‹ˆ ๋””์ง€ํ„ธ ์„œ๋ช…์ž…๋‹ˆ๋‹ค.
  • ํŒŒ์ผ์€ ๋‹ค์Œ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ nginx๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.
    • ์ฝ˜ํ…์ธ  ์บ์‹ฑ. ์ด ์„œ๋น„์Šค๋Š” ๋ณ„๋„์˜ ์„œ๋ฒ„์— ์œ„์น˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ตœ์‹  ๋‹ค์šด๋กœ๋“œ ํŒŒ์ผ์„ ๋ชจ๋‘ ๋””์Šคํฌ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๋ฏธ๋ž˜์— ๋Œ€๋น„ํ•ด ๋‚จ๊ฒจ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์—ฐ๊ฒฐ ์ƒ์„ฑ ์‹œ ํ‚ค ํ™•์ธ
  • ์„ ํƒ ์‚ฌํ•ญ: ์ŠคํŠธ๋ฆฌ๋ฐ ์ฝ˜ํ…์ธ  ์ฒ˜๋ฆฌ. ์˜ˆ๋ฅผ ๋“ค์–ด ์„œ๋น„์Šค์˜ ๋ชจ๋“  ํŒŒ์ผ์„ ์••์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ ์ด ๋ชจ๋“ˆ์—์„œ ์ง์ ‘ ์••์ถ• ํ’€๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ IO ์ž‘์—…์€ ํ•ด๋‹น ์œ„์น˜์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. Java์˜ ์•„์นด์ด๋ฒ„๋Š” ๋งŽ์€ ์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ํ• ๋‹นํ•˜์ง€๋งŒ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ํฌํ•จ๋œ ์„œ๋น„์Šค๋ฅผ Rust/C++ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋„ ํšจ๊ณผ์ ์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ์„ธ์Šค(๋˜๋Š” ์„œ๋น„์Šค)๊ฐ€ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ IO ์ž‘์—…์„ ๋งค์šฐ ํšจ๊ณผ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธ๋ฆฌํ•œ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

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

(๊ฐ•ํ™”๋ฅผ ์œ„ํ•œ) ๋˜ ๋‹ค๋ฅธ ์˜ˆ: Jenkins/TeamCity๋กœ ์ž‘์—…ํ•œ ๊ฒฝ์šฐ ๋‘ ์†”๋ฃจ์…˜ ๋ชจ๋‘ Java๋กœ ์ž‘์„ฑ๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ๋นŒ๋“œ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜๊ณผ ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ๋ฅผ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๋Š” Java ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ํŠนํžˆ, ๋‘˜ ๋‹ค "์„œ๋ฒ„์—์„œ ํŒŒ์ผ/ํด๋” ์ „์†ก"๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„ํ‹ฐํŒฉํŠธ ๋ฐœํ–‰, ์†Œ์Šค ์ฝ”๋“œ ์ „์†ก(์—์ด์ „ํŠธ๊ฐ€ ์ €์žฅ์†Œ์—์„œ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์ง€ ์•Š๊ณ  ์„œ๋ฒ„๊ฐ€ ๋Œ€์‹  ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ), ๋กœ๊ทธ์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์ž‘์—…์€ IO ๋กœ๋“œ๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ฆ‰, ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๋‹นํ•˜๋Š” ์„œ๋ฒ„๋Š” ๋™์‹œ์— ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ž์ฒด์ ์œผ๋กœ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์ ์€ ์ด๋Ÿฌํ•œ ์ž‘์—…์ด ์ •ํ™•ํžˆ ๋™์ผํ•œ ์ฒด๊ณ„์— ๋”ฐ๋ผ ๋™์ผํ•œ nginx์— ์œ„์ž„๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์š”์ฒญ์— ๋ฐ์ดํ„ฐ ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ๋งŒ ์ œ์™ธ).

๊ทธ๋Ÿฌ๋‚˜ ์‹œ์Šคํ…œ์œผ๋กœ ๋Œ์•„๊ฐ€๋ฉด ๋น„์Šทํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํŽธ๋ฆฌํ•œ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

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

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

๊ฒฐ๋ก 

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

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

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

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

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€