제품소개

Apache 란?

아파치 HTTP 서버는 아파치 소프트웨어 재단에서 관리하는 오픈소스 HTTP 웹 서버입니다.
Apache Web Server는 인터넷 개방 표준 프로토콜과 인터넷 표준 개발언어를 지원하며 대부분의 하드웨어 플랫폼을 지원하는 웹 서버이며, 패치파일을 꾸준히 개선해 제공하고 있으며 파트 국제 시장 점유율 1위의 검증된 제품으로 초대형 포탈사이트, 국내외 공공기관등 다양한 구축 사례를 보유하고 있는 제품입니다.

제품개요

  • 다양한 하드웨어 플랫폼 지원
  • 웹 서버 파트 국제시장 점유율 1위
  • 웹 서버 기술표준 준수 및 선도
  • 개발에서 운영까지 일관된 제품 적용 가능 (오픈소스, 상용 S/W 모두 지원)

제품 구성 요소 및 주요 기능

기능내용
성능
  • HTTP 1.0 /1.1 지원
  • 멀티프로세스, 멀티 쓰레드 아키텍처 지원
  • 자체 프록시를 이용한 부하분산 HA 구성
  • 광범위한 멀티 프랫폼 지원
  • PHP, CGI 등 다양한 개발언어 지원
  • 모든 WAS 제품과 연동 가능 (n-tier 구성가능)
  • 브라우저를 통한 원격 모니터링 지원
  • 가상호스트 기능을 이용하여 각각의 서비스를 하나의 웹서버로 지원

제품 아키텍처

멀티 쓰레드, 멀티 프로세스
Apache, Web Server는 멀티 프로세스, 멀티 쓰레드 아키텍처 지원, Apache web server의 정적 컨텐츠 처리 능력과 WAS 동적 컨텐츠 처리 능력이 결합되어 최상의 웹 서비스 구현
로드밸런싱 및 HA 구성
Apache proxy module을 통한 apache + apache 간의 apache + WAS 간의 연동 기능은 하나의 서버가 다운되더라도 다른 서버에서 서비스가 유지되도록 하며 서비스 처리 능력의 향상이 필요할 시 간단하게 서버 추가로 다른 설정 변경 없이 성능 향상 가능
Virthual Host(가상호스팅) 구성
IP와 PORT가 부족한 상황에서도 여러 도메인을 한 서버로 운영하는 가상 도메인 기능을 지원하며 HTTP 헤더를 이용한 로그분리, 개별 서비스등 강력한 호스팅 기능 지원

Tomcat 이란?

Tomcat은 아파치 소프트웨어 재단에서 개발된 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 어플리케이션 서버(WAS)입니다.
톰캣은 웹서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바 서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있습니다. 톰캣은 관리툴을 통해 설정을 변경 할 수 있지만, XML 파일을 편집하여 설정할 수도 있습니다.
그리고 톰캣은 HTTP 서버도 자체 내장하기도 합니다.

톰캣 8 특징

서블릿 3.1
서블릿 3.0부터 HTTP 입출력에 큰 기능이 하나 추가됐는데 바로 “차단되지 않는 입출력(non-blocking IO)”입니다. 그전까지는 말하자면 웹브라우저 하나에서 웹페이지를 다운로드(또는 업로드)할 때 페이지 로딩이 끝날 때까지 다른 아무 것도 할 수가 없었습니다. 하지만 이제는 입출력을 비동기적으로 처리할 수 있어서 서버가 다른 작업을 하면서 입출력을 처리할 수 있습니다.
(다른 말로 또는 반대로 말하자면 입출력을 처리하면서 동시에 다른 작업을 할 수 있습니다. 이것이 가능한 것은 입출력을 별도의 자바 쓰레드를 생성해 처리하기 때문입니다.)
JSP 2.3
-JSP 2.3은 “maintenance release”로서 톰캣 8에서 그 전 버전과 별 차이가 없습니다.
EL (Expression Language) 3.0
EL 3.0은 이전 버전과 많이 달라졌지만 하위 호환성이 있습니다. 이전 버전과 달리 ELProcessor라는 클래스를 단순 빈(bean)방식으로 선언하여 사용할 수 있으므로 JSP가 아닌 임의의 자바에서도 EL을 사용할 수 있게 됩니다. EL 3.0은 덧셈 연산자(+)로 문자열 연결하기, map/reduce등 다양한 기능이 추가 되었습니다.
웹소켓 1.01
톰캣 7에서도 웹소켓 API를 지원했으나 톰캣 8 및 7.0.43부터 새로운 API로 웹소켓이 구현됐습니다. 또한 톰캣 7에서는 차단되는(blocking) 방식이었으나 웹소켓 1.0에서는 거의 비차단식으로 제공됩니다.
기타 자바 EE 7 기능

톰캣 자체의 변화

  • 이전에는 자원(파일)을 찾기 위한 방식으로 Aliases, VirtualLoader 파일등 여러가지를 설정할 수 있었는데 8버전부터 간단하게 일원화 되었습니다.
  • 자바 7 이상이 필요합니다.
  • 비차단식 입출력을 지원하기 위헤 NIO 커넥터가 기본 설정이 되었습니다. 이전처럼 BIO나 APR/네이티브 입출력도 계속적으로 지원 합니다.
  • DB 연결 풀링에는 그전까지 DBCP를 사용했지만 이제 DBCP2가 기본이 되었습니다.