본문 바로가기

# CS/Network

[Network] 미들웨어(Middleware)란 무엇인가?

미들웨어(Middleware)란?

양 쪽을 연결하여 데이터를 주고 받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어


3-Tier 구조에서의 미들웨어(Middleware)

[1-Tier 구조]

비즈니스 로직 처리, 데이터 처리 등을 모두 한 곳의 물리적 환경(서버)에서 통합 제공하는 형태

  • 1개의 통합 서버에 문제가 생겼을 때 전체 서비스 장애로 이어진다.
  • 어느 포인트에서 장애를 일으켰는 지 분석이 쉽지 않다.

[3-Tier 구조]

DBMS서버, 정적 페이지 서버(WEB Server), 동적 페이지 서버(WAS)를 분리해서 제공하는 형태

  • 관리와 유지 보수가 간편해짐
  • 부하의 분산이 가능

 

WEB Server

사용자의 요청이 유입되는 순간 호출되는 앞단(Front-end)의 정적 페이지(html, css, js, png 등)를 전용으로 처리하는 서버

WAS (Web Aplication Server)

로그인, 검색 등 데이터를 가공하고 처리하는 뒷단(Back-end)의 동적 페이지(jsp, servlet 등)를 전용으로 처리하는 서버

 

WEB Server, WAS 분리하는 이유

  • 다양한 로직을 처리하는 WAS 서버 부담 감소
  • WAS 리소스 외부 노출 방지
  • 로드밸런싱 가능(WEB Server에 WAS 여러개 연결) 
    • 여러 대의 WAS를 사용하면 하나의 WAS에서 장애가 생기더라도 해당 WAS를 사용 중지시키고 재시작 함으로써 무중단 운영, 장애 극복(Failover) 등에 유리하다.

 

3-Tier 구조에서 미들웨어는 Client - Database 사이에 위치한 WEB Server / WAS를 의미하며, 클라이언트와 데이터베이스 사이이에서 데이터를 주고 받을 수 있도록 매개 역할을 한다.

 

 

<참고>

- https://velog.io/@unyoi/인프라-뿌시기1-미들웨어-개념을-알아보자

- https://kangfru.tistory.com/21