๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ›๏ธ Architecture

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์ถ• CH.4 ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ†ต์‹  ๋ฐฉ์‹

by GroovyArea 2023. 11. 4.

4.1.1 ์„ฑ๋Šฅ

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

4.1.2 ์ธํ„ฐํŽ˜์ด์Šค ๋ณ€๊ฒฝ

  • ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€
    • ๋‚ด๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค ์ˆ˜์ •์€ ๊ฐ„๋‹จํ•จ.
  • ํ”„๋กœ์„ธ์Šค ์™ธ๋ถ€
    • ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ์ถฉ๋ถ„ํžˆ ๊ณ ๋ ค, ๊นจํŠธ๋ฆด ๊ฒฝ์šฐ ๋‘˜ ๋‹ค ์ƒˆ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์—…๋ฐ์ดํŠธ
    • Lockstep Deployment

4.1.3 ์—๋Ÿฌ ์ฒ˜๋ฆฌ

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

4.2 ํ”„๋กœ์„ธ์Šค๊ฐ„ํ†ต์‹ ์„์œ„ํ•œ๊ธฐ์ˆ : ๋‹ค์–‘ํ•œ์„ ํƒ

  • ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ์— ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์˜ ๋ฒ”์œ„๋Š” ๋ฐฉ๋Œ€ํ•˜๋‹ค
  • ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ œ์— ์ ํ•ฉํ•œ ๊ธฐ์ˆ ์„ ์„ ํƒํ•˜๋ผ
  • ๋จผ์ € ํ†ต์‹  ๋ฐฉ์‹์„ ์ •๋ฆฌ ํ›„, ์ ํ•ฉํ•œ ๊ธฐ์ˆ ์„ ์„ ํƒ

4.3 ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ†ต์‹ ๋ฐฉ์‹

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