๐Ÿ€ Spring

Web Server VS WAS

์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š”๊ฐ€?

Web Server

์ •์  ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„

๋ชฉ์  ๋ฐ ํŠน์ง•

ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ HTTP ์š”์ฒญ์„ ๋ฐ›์•„ ์ •์  ์ปจํ…์ธ ๋ฅผ ์ œ๊ณต

์žฅ์ 

  • ์ฑ…์ž„ ๋ถ„ํ• ์„ ํ†ตํ•œ ์„œ๋ฒ„ ๋ถ€ํ•˜ ๋ฐฉ์ง€
    • ์ •์  ์ปจํ…์ธ ๋Š” Web Server, ๋™์  ์ปจํ…์ธ ๋Š” WAS
  • WAS ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ
  • WAS Health Check
    • ์„œ๋ฒ„์— ์ฃผ๊ธฐ์ ์œผ๋กœ HTTP ์š”์ฒญ์„ ๋ณด๋‚ด ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ํ™•์ธ
  • ๋ณด์•ˆ
    • ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ์„œ๋ฒ„๋ฅผ ์™ธ๋ถ€์— ๋…ธ์ถœํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ

๋‹จ์ 

  • ์„œ๋น„์Šค๊ฐ€ ํ•œ์ •์ ์ด๋‹ค : ์ €์žฅ๋œ ์ •๋ณด๋งŒ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.

๋‹จ์  ๊ทน๋ณต ๋ฐฉ๋ฒ•

์˜ˆ์‹œ

APACHE
NginX

WAS

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, DB๋ฅผ ์ด์šฉํ•ด ๋™์ ์ธ ๋ฐ์ดํ„ฐ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„

๋ชฉ์  ๋ฐ ํŠน์ง•

Web Server๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ •์ ์ธ ๋ฆฌ์†Œ์Šค ์ œ๊ณต์„ ๋„˜์–ด
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰์‹œ์ผœ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์›น ์„œ๋ฒ„๋กœ ์ „๋‹ฌ
  • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ
  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ™˜๊ฒฝ๊ณผ DB ์ ‘์† ๊ธฐ๋Šฅ ์ œ๊ณต

์žฅ์ 

  • ๋™์ ์ธ ์ปจํ…์ธ  ์ œ๊ณต ๊ฐ€๋Šฅ
  • ๊ด€๋ฆฌ๊ฐ€ ์‰ฝ๋‹ค : ์›น ์‚ฌ์ดํŠธ ๊ตฌ์กฐ์— ๋”ฐ๋ผ์„œ ์ถ”๊ฐ€/์ˆ˜์ •/์‚ญ์ œ ๋“ฑ์˜ ์ž‘์—…์ด ์šฉ์ดํ•˜๋‹ค

๋‹จ์ 

  • ์ƒ๋Œ€์ ์œผ๋กœ ๋Š๋ฆฌ๋‹ค : ์‚ฌ์šฉ์ž์—๊ฒŒ ์›น ํŽ˜์ด์ง€๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์ „์— ์ฒ˜๋ฆฌํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.
  • ์ถ”๊ฐ€ ๋น„์šฉ์ด ๋“ ๋‹ค : ์›น ์„œ๋ฒ„์™ธ์— ์ถ”๊ฐ€์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(Webs Application Server)๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

๋‹จ์  ๊ทน๋ณต ๋ฐฉ๋ฒ•

์˜ˆ์‹œ

Tomcat

๋ฉด์ ‘ ์งˆ๋ฌธ

  • WAS๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ?
    • Web Server๋งŒ์„ ์ด์šฉํ•œ๋‹ค๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ชจ๋‘ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋†“๊ณ  ์„œ๋น„์Šค๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค.
    • ์ด๋ ‡๊ฒŒ ํ•˜๊ธฐ์—” ์ž์›์ด ๋ถ€์กฑ
    • ๋”ฐ๋ผ์„œ WAS๋ฅผ ํ†ตํ•ด ์š”์ฒญ์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ DB์—์„œ ๊ฐ€์ ธ์™€์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋งž๊ฒŒ ๊ทธ๋•Œ ๊ทธ๋•Œ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ
  • Web Server์™€ WAS์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์  ๋ฌด์—‡์ด ์žˆ์„๊นŒ์š”?
    • ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š”๊ฐ€?
  • Web Server ์™€ WAS๋ฅผ ๋”ฐ๋กœ ๋‘๋Š” ์ด์œ 
    • ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์„œ๋ฒ„ ๋ถ€ํ•˜ ๋ฐฉ์ง€
      • WAS๋Š” DB ์กฐํšŒ๋‚˜ ๋‹ค์–‘ํ•œ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๋Š๋ผ ๋ฐ”์˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ˆœํ•œ ์ •์  ์ปจํ…์ธ ๋Š” Web Server์—์„œ ๋น ๋ฅด๊ฒŒ ํด๋ผ์ด์–ธํŠธ์— ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    • ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ณด์•ˆ ๊ฐ•ํ™”
      • SSL์— ๋Œ€ํ•œ ์•”๋ณตํ˜ธํ™” ์ฒ˜๋ฆฌ์— Web Server๋ฅผ ์‚ฌ์šฉ
    • ์—ฌ๋Ÿฌ ๋Œ€์˜ WAS๋ฅผ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ
      • ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ
      • ๋ฌด์ค‘๋‹จ ์šด์˜
    • Health Check
    • ์—ฌ๋Ÿฌ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋น„์Šค ๊ฐ€๋Šฅ
      • ํ•˜๋‚˜์˜ Web Server์— PHP Application๊ณผ Java Application์„ ํ•จ๊ป˜ ์‚ฌ์šฉ
    • 2๋Œ€ ์ด์ƒ์˜ ์„œ๋ฒ„์—์„œ์˜ ์„ธ์…˜ ๊ด€๋ฆฌ ๋“ฑ๋„ Web Server์—์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด ํšจ์œจ์ 