๐Ÿ’ป [Theory] Web Server์™€ WAS

๐Ÿ’ป [Theory] Web Server์™€ WAS

์•ˆ๋…•ํ•˜์„ธ์š”. ๐Ÿ‘‹

์˜ค๋Š˜์€ Web Server์™€ WAS์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Web Server ๋ž€?

webserver

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•˜๋Š” HTML ๋ฌธ์„œ๋‚˜ ๊ฐ์ข… ๋ฆฌ์†Œ์Šค ์ •์  ์ปจํ…์ธ ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ด๋‹ค.
  • ์œ„์—์„œ ๋งํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์™ธ์—๋„ ํ•ด๋‹น ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ํ•˜๋“œ์›จ์–ด ๋˜ํ•œ WEB์„œ๋ฒ„๋ผ๊ณ  ๋งํ•œ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ ์ด ํฌ์ŠคํŠธ์—์„œ๋Š” Apache HTTP ์„œ๋ฒ„, NGINX, WebtoB ์™€ ๊ฐ™์€ ์†Œํ”„ํŠธ์›จ์–ด ์— ํ•ด๋‹นํ•˜๋Š” WEB์„œ๋ฒ„์— ๋Œ€ํ•ด์„œ ๋งํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.

์›น ์„œ๋ฒ„๋ž€ ํด๋ผ์ด์–ธํŠธ(์‚ฌ์šฉ์ž)๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์–ด๋–ค ํŽ˜์ด์ง€ ์š”์ฒญ์„ ํ•˜๋ฉด ์›น์„œ๋ฒ„์—์„œ ๊ทธ ์š”์ฒญ์„ ๋ฐ›์•„ ์ •์  ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ •์  ์ปจํ…์ธ ๋ž€ ๋‹จ์ˆœ HTML๋ฌธ์„œ ,CSS, javascript,์ด๋ฏธ์ง€,ํŒŒ์ผ ๋“ฑ ์ฆ‰์‹œ ์‘๋‹ต๊ฐ€๋Šฅํ•œ ์ปจํ…์ธ ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์›น ์„œ๋ฒ„๋Š” ์ •์  ์ปจํ…์ธ ๋งŒ ์ œ๊ณตํ•˜๋‚˜? ๊ทธ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์›น ์„œ๋ฒ„๊ฐ€ ๋™์  ์ปจํ…์ธ ๋ฅผ ์š”์ฒญ ๋ฐ›์œผ๋ฉด WAS์—๊ฒŒ ํ•ด๋‹น ์š”์ฒญ์„ ๋„˜๊ฒจ์ฃผ๊ณ , WAS์—์„œ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ(์‚ฌ์šฉ์ž)์—๊ฒŒ ์ „๋‹ฌํ•ด์ฃผ๋Š” ์—ญํ• ๋„ ํ•œ๋‹ค.

WAS (Web Application Server) ๋ž€?

was

  • Web Application Server ์˜ ์•ฝ์ž์ด๋‹ค.
  • ๋™์  ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋กœ์จ ์›น ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค.
  • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ˆ˜ํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • DB ์ ‘์† ๊ฐ€๋Šฅ
  • ์›น ์ปจํ…Œ์ด๋„ˆ(Web Container) ํ˜น์€ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ(Servlet Container)๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.
    • Container ๋ž€ JSP, Servlet ์„ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งํ•œ๋‹ค.
    • ์ฆ‰, WAS๋Š” JPS, Servlet ๊ตฌ๋™ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค
  • WAS๋Š” Web Server + Web Container ๋กœ ์ •์ ์ธ ์ปจํ…์ธ ๋„ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ์ •์  ์ปจํ…์ธ  ์š”์ฒญ์ด ์˜ค๋ฉด Web Server ๊ฐ€ ๋™์  ์ปจํ…์ธ  ์š”์ฒญ์ด ์˜ค๋ฉด Web Container ๊ฐ€ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • ๋Œ€ํ‘œ์ ์ธ WAS๋กœ๋Š” Tomcat,JBoss, Jeus, WebLogic, WebSphere ๋“ฑ์ด ์žˆ๋‹ค.

Web Server์™€ WAS์˜ ์ฐจ์ด

๊ฐ„๋žตํžˆ ๋งํ•˜์ž๋ฉด

Web Server ๋Š” ์ •์ ์ธ ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„์ด๊ณ  WAS๋Š” ๋™์ ์ธ ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„์ด๋‹ค.

์˜ˆ์ „์˜ WAS ์—์„œ๋Š” ์ •์ ์ธ Web Server ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ์˜ค๋žœ ๊ธฐ๊ฐ„ WAS ๊ฐ€ ๋ฐœ์ „์„ ๊ฑฐ๋“ญํ•˜์—ฌ ์ตœ๊ทผ WAS ๋“ค์€ Web Server ๋„

๊ฐ–๊ฒŒ ๋˜์–ด ๋™์ ์ธ ์ปจํ…์ธ  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ •์ ์ธ ์ปจํ…์ธ ๋„ ์ œ๊ณตํ•ด์ฃผ๊ณ  ์žˆ๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์—, Web Server ์—†์ด WAS ๋งŒ์œผ๋กœ๋„ ๋ชจ๋“  ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ•˜์ง€๋งŒ ์ฃผ๋กœ ์„œ๋ฒ„ ๊ตฌ์„ฑ ์‹œ์— Web Server์™€ WAS๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ตฌ์„ฑํ•œ๋‹ค.

์™œ Web Server์™€ WAS๋ฅผ ๊ตฌ๋ถ„ํ• ๊นŒ?

1. ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์„œ๋ฒ„ ๋ถ€ํ•˜๋ฅผ ๋ฐฉ์ง€ํ•œ๋‹ค.

  • WAS ๊ฐ€ ํ˜ผ์ž์„œ ๋ชจ๋“  ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๋งŒํผ WAS ๊ฐ€ ๊ฐ๋‹นํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋‹ด์ด ์ปค์ง€๊ฒŒ ๋œ๋‹ค.

  • ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•ด์„œ ๊ฐ ์„œ๋ฒ„๊ฐ€ ๊ฐ๋‹นํ•˜๋Š” ๋ถ€ํ•˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋„๋ก Web Server์™€ WAS ๋ฅผ ๋ถ„๋ฆฌํ•œ๋‹ค.

  • Web Server ์™€ WAS ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฏ€๋กœ์จ ๊ฐ์ž์˜ ์—ญํ• ์ด ๋ถ„๋ช…ํ•ด์ง„๋‹ค.

2. ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•œ๋‹ค.

  • WAS ์—๋Š” ์‹ค์ œ Web Application ์ด ์˜ฌ๋ผ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์™ธ๋ถ€์™€ ์ง์ ‘ ์—ฐ๊ฒฐ์ด ๋˜์–ด ์žˆ๋‹ค๋ฉด ์ค‘์š”ํ•œ ์ •๋ณด๋‚˜ ๋ฆฌ์†Œ์Šค๋“ค์ด ์™ธ๋ถ€๋กœ ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค.

  • ์ด๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ Web Server ๋ฅผ WAS ์•ž๋‹จ์— ๋ฐฐ์น˜ํ•ด์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋‹ค.

  • WAS ์•ž๋‹จ Web Server์— SSL์— ๋Œ€ํ•œ ์•”๋ณตํ˜ธํ™” ์ฒ˜๋ฆฌํ•ด ๋ณด์•ˆ์„ ๋” ๊ฐ•ํ™”ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

3. Web Server์— ์—ฌ๋Ÿฌ ๋Œ€์˜ WAS๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๊ทœ๋ชจ๊ฐ€ ํฐ ์„œ๋น„์Šค์—์„œ๋Š” ํ•˜๋‚˜์˜ WEB์„œ๋ฒ„์— ํ•˜๋‚˜์˜ WAS๊ฐ€ ์—ฐ๊ฒฐ๋œ ๊ตฌ์กฐ๋งŒ์œผ๋กœ๋Š” ๋งŽ์€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ์— ์–ด๋ ค์›€์ด ์ƒ๊ธด๋‹ค.
  • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜๋งŽ์€ ์š”์ฒญ์„ ํ•œ๊ตฐ๋ฐ๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฌ ๊ตฐ๋ฐ์—์„œ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋™์ผํ•œ Web Application ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋„์šด๋‹ค.
  • ์ด๋•Œ ์—ฌ๋Ÿฌ ๋Œ€์˜ WAS์— ๊ฐ๊ฐ ์š”์ฒญ์„ ๋“ค์–ด์˜ค๋„๋ก ํ•˜์ง€ ์•Š๊ณ  ์•ž์— WEB์„œ๋ฒ„๋ฅผ ๋‘๊ณ  ๊ฐ WAS๋“ค์„ WEB์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•ด์„œ WEB์„œ๋ฒ„๋กœ ๋“ค์–ด์˜ค๋Š” ์ˆ˜๋งŽ์€ ์š”์ฒญ์„ ๊ฐ WAS๋“ค์— ์ ์ ˆํ•˜๊ฒŒ ๋ถ„๋ฐฐํ•ด์ฃผ๋„๋ก ํ•œ๋‹ค.

  • โ€ป ์ด๋ ‡๊ฒŒ ๋ฐฐ์น˜ํ•˜์—ฌ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์„ ํ•ด์คŒ์œผ๋กœ์จ ํ•˜๋‚˜์˜ WAS๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ์š”์ฒญ์˜ ์–‘์ด ์ค„์–ด๋“ค์–ด ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค ์šด์˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • โ€ป ๋”๋ถˆ์–ด fail over(์žฅ์•  ๊ทน๋ณต), fail back ๋„ ๊ฐ€๋Šฅ

4. ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ WAS๋กœ ์„œ๋น„์Šค ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Java ์„œ๋ฒ„, PHP ์„œ๋ฒ„์™€ ๊ฐ™์ด ์„œ๋กœ ๋‹ค๋ฅธ ์„œ๋ฒ„๋ฅผ ํ•˜๋‚˜์˜ WEB์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•ด์„œ ์„œ๋น„์Šค ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ •๋ฆฌ

์œ„์ฒ˜๋Ÿผ ๋‹ค์–‘ํ•œ ์ด์œ ๊ฐ€ ์žˆ์ง€๋งŒ, ์ตœ๊ทผ์—” WAS์˜ ๊ธฐ๋Šฅ์ด ๋งŽ์ด ๊ฐ•ํ™”๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— WEB์„œ๋ฒ„์™€ WAS๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋

Web Server์™€ WAS์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

Reference

Written on June 6, 2021