CodeGym/Java Course/๋ชจ๋“ˆ 3/ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜

ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜

์‚ฌ์šฉ ๊ฐ€๋Šฅ

1.1 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜

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

๋Œ€ํ˜• ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์•„ํ‚คํ…์ฒ˜์˜ ์˜ˆ:

  • ๊ณ„์ธตํ™” ๋œ ์•„ํ‚คํ…์ฒ˜ (Layered Architecture).
  • ๊ณ„์ธตํ™”๋œ ์•„ํ‚คํ…์ฒ˜.
  • ์„œ๋น„์Šค ์ง€ํ–ฅ ์•„ํ‚คํ…์ฒ˜(SOA).
  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜(Microservice Architecture).

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

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

"ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ณ€๊ฒฝ"์€ ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ •ํ™•ํžˆ.

๊ตฌ์ฒด์ ์œผ๋กœ ์ค‘๊ฐ„ ํฌ๊ธฐ์˜ ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค . 20๋ช…์œผ๋กœ ๊ตฌ์„ฑ๋œ ํŒ€์ด 5๋…„ ๋™์•ˆ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” 100์ธ๋…„์ด ๊ฑธ๋ ธ๊ณ  ์•ฝ 10๋งŒ ์ค„์˜ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด 2,000๊ฐœ์˜ ํด๋ž˜์Šค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅธ 10๊ฐœ์˜ ๋ชจ๋“ˆ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

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

์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ๋‹น์‹ ์„ ๋†€๋ผ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊พธ๋ฏผ ์•…๋ชฝ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ „ํ˜•์ ์ธ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ๋” ๋‚˜๋น ์ง‘๋‹ˆ๋‹ค. ์™œ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ? ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฑฐ์˜ ํ•ญ์ƒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

1.2 ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์ƒํ˜ธ ์ž‘์šฉ์˜ ๊ฐœ๋…

์ด์ œ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜ ์˜ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๊ฐœ๋…์„ ์ดํ•ด ํ•˜๊ณ  ์ธํ„ฐ๋„ท์—์„œ ์ˆ˜๋ฐฑ๋งŒ ํ”„๋กœ๊ทธ๋žจ์˜ ์ƒํ˜ธ ์ž‘์šฉ์ด ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๋Š”์ง€ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋‹ค์Œ ์˜ˆ์ œ๋Š” ์„œ๋ฒ„๋กœ ์ œ๊ณต๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Tomcat๊ณผ ๊ฐ™์€ ์›น ์„œ๋ฒ„.
  • MySQL๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„.
  • Stripe๊ณผ ๊ฐ™์€ ๊ฒฐ์ œ ๊ฒŒ์ดํŠธ์›จ์ด.

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค(๋™์ผํ•œ ๋กœ์ปฌ ์˜์—ญ ๋„คํŠธ์›Œํฌ ๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ๋„คํŠธ์›Œํฌ์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Œ). ํ†ต์‹ ์€ HTTP, FTP์™€ ๊ฐ™์€ ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ ๋˜๋Š” TCP๋‚˜ UDP์™€ ๊ฐ™์€ ํ•˜์œ„ ์ˆ˜์ค€ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

ํ”„๋กœํ† ์ฝœ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค ์œ ํ˜•์— ๋”ฐ๋ผ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ™”์ƒ ํ†ตํ™”์ธ ๊ฒฝ์šฐ UDP๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

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

์ด๊ฒƒ์€ ์ผ๋ฐ˜์ ์ธ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์ƒํ˜ธ ์ž‘์šฉ์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์›น ํด๋ผ์ด์–ธํŠธ์ด๊ณ  Tomcat์€ ์›น ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. Tomcat์€ ์›น ์„œ๋ฒ„๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค.

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

1.3 ์ค‘์š”ํ•œ ๋‰˜์•™์Šค

ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์ƒํ˜ธ ์ž‘์šฉ์€ ์ด๋Ÿฌํ•œ ์ƒํ˜ธ ์ž‘์šฉ์ด ํด๋ผ์ด์–ธํŠธ์— ์˜ํ•ด ์‹œ์ž‘๋œ๋‹ค๋Š” ์›์น™์— ๊ธฐ๋ฐ˜ํ•œ๋‹ค๋Š” ์ ๋„ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . .

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

์ด ๊ฐœ๋…์€ ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋…€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ•์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฒ„์ „์ด ๊ทธ๋ฆผ์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„

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

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

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

์ค‘์š”ํ•œ ๊ฐœ์ฒด์˜ ์ˆ˜๋ช… ์ฃผ๊ธฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

NET์„ ํ†ตํ•ด ์„œ๋ฒ„์—์„œ ์ƒˆ ์Šค๋ ˆ๋“œ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค new Thread().start(). ๋Œ€์‹  ๋ชจ๋“  ์„œ๋น„์Šค ์Šค๋ ˆ๋“œ ๊ฐ„์— ๊ณต์œ ํ•  ThreadPool์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

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

1.4 ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜

๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ์ . ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜๋Š” ์ปดํ“จํ„ฐ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์›์น™๋งŒ ์ •์˜ํ•˜๋ฉฐ ์ƒํ˜ธ ์ž‘์šฉ์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๋‹ค์–‘ํ•œ ํ”„๋กœํ† ์ฝœ์— ์˜ํ•ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

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

ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์ƒํ˜ธ ์ž‘์šฉ ์•„ํ‚คํ…์ฒ˜์—๋Š” ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” 2๊ณ„์ธต ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜ ๋ผ๊ณ  ํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ๋Š” ๋‹ค์ค‘ ๊ณ„์ธต ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜(๋•Œ๋•Œ๋กœ 3๊ณ„์ธต ์•„ํ‚คํ…์ฒ˜ ๋˜๋Š” 3๊ณ„์ธต ์•„ํ‚คํ…์ฒ˜๋ผ๊ณ ๋„ ํ•จ)์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค).

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

2๊ณ„์ธต ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์ƒํ˜ธ ์ž‘์šฉ ๋ชจ๋ธ์€ ๊ฐ„๋‹จํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2๊ณ„์ธต ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜

์—ฌ๊ธฐ์—์„œ ์ฒซ ๋ฒˆ์งธ ์ˆ˜์ค€์€ ํด๋ผ์ด์–ธํŠธ์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ฒƒ์ด๊ณ  ๋‘ ๋ฒˆ์งธ ์ˆ˜์ค€์€ ์„œ๋ฒ„์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ฒƒ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋ฉ˜ํŠธ
  • ์ธ๊ธฐ
  • ์‹ ๊ทœ
  • ์ด์ „
์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ธฐ๋ ค๋ฉด ๋กœ๊ทธ์ธ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
์ด ํŽ˜์ด์ง€์—๋Š” ์•„์ง ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค