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

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐ๊ฐ ๋‹จ์ผ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋Š” ๋А์Šจํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ์„œ๋น„์Šค๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ๋” ๋น ๋ฅธ ๊ฐœ๋ฐœ, ๋” ์‰ฌ์šด ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ๋” ๋‚˜์€ ํ™•์žฅ์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ์ธ๊ธฐ๊ฐ€ ๋†’์•„์ง์— ๋”ฐ๋ผ ์บ์‹ฑ์€ ์ด ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์˜ ํ•„์ˆ˜ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2020๋…„ O'Reilly Software Architecture ์„ค๋ฌธ์กฐ์‚ฌ์— ๋”ฐ๋ฅด๋ฉด ์•ฝ 61%์˜ ๊ธฐ์—…์ด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์—์„œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

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

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

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์บ์‹ฑ ๊ตฌํ˜„์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ๋ชจ๋ฒ” ์‚ฌ๋ก€์™€ ํŒจํ„ด์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  • ์บ์‹œ ๋ฐฐ์ œ ํŒจํ„ด: ์ด ํŒจํ„ด์—์„œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ๋จผ์ € ์บ์‹œ์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์บ์‹œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค(์บ์‹œ ์ ์ค‘). ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์›๋ณธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ํ–ฅํ›„ ์š”์ฒญ์„ ์œ„ํ•ด ์บ์‹œ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค(์บ์‹œ ๋ˆ„๋ฝ).
  • ์ฝ๊ธฐ ํŒจํ„ด: ์ด ํŒจํ„ด์—์„œ๋Š” ์บ์‹œ ์ž์ฒด๊ฐ€ ์š”์ฒญ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์†Œ์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์— ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • Write-Through ๋ฐ Write-Behind ํŒจํ„ด: ์ด๋Ÿฌํ•œ ํŒจํ„ด์€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ์บ์‹œ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์—ฐ์† ๊ธฐ์ž…์€ ๋ฐ์ดํ„ฐ ์ˆ˜์ • ํ›„ ์ฆ‰์‹œ ์บ์‹œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ณด์žฅํ•˜๋Š” ๋ฐ˜๋ฉด, ์—ฐ์† ๊ธฐ์ž…์€ ํŠน์ • ์—…๋ฐ์ดํŠธ ์ž„๊ณ„๊ฐ’ ๋˜๋Š” ์ •์˜๋œ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์— ๋„๋‹ฌํ•˜๋Š” ๋“ฑ ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ๊นŒ์ง€ ์บ์‹œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์—ฐํ•ฉ๋‹ˆ๋‹ค.
  • ์บ์‹œ ์ œ๊ฑฐ ์ „๋žต: ์ด๋Ÿฌํ•œ ์ „๋žต์€ ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•ด ์บ์‹œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์‹œ๊ธฐ์™€ ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ „๋žต์—๋Š” LRU(Least Recent Used), FIFO(์„ ์ž…์„ ์ถœ) ๋ฐ TTL(Time-To-Live) ๊ธฐ๋ฐ˜ ์ œ๊ฑฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•์„ ์œ„ํ•œ ์„ ๋„์ ์ธ no-code ํ”Œ๋žซํผ์ธ AppMaster ๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์บ์‹ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ณ ์„ฑ๋Šฅ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ์šฉ Go, ์›น์šฉ Vue3, Android์šฉ Kotlin ๋ฐ Jetpack Compose, iOS์šฉ SwiftUI ์‚ฌ์šฉํ•˜์—ฌ AppMaster ์—์„œ ์ƒ์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ •๊ตํ•œ ์บ์‹ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ์›ํ™œํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ AppMaster ํ”Œ๋žซํผ์˜ ์„œ๋ฒ„ ์ค‘์‹ฌ ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•ด ๊ณ ๊ฐ์€ App Store ๋ฐ Play Market์— ์ƒˆ ๋ฒ„์ „์„ ๋‹ค์‹œ ์ œ์ถœํ•˜์ง€ ์•Š๊ณ ๋„ ์•ฑ์˜ UI์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ํ˜„๋Œ€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ง€ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—์„œ ์บ์‹ฑ์˜ ์ค‘์š”์„ฑ์„ ๋”์šฑ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. .

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