not set

Resin 서버의 특징 및 기능 본문

WAS/Resin

Resin 서버의 특징 및 기능

다크곰 2009. 10. 13. 15:27
 

Resin 서버는?

 

Sun사의 J2EE표준을 완벽하게 지원
 
  • Resin서버는 Sun사의 J2EE 인증을 받은 J2EE 컨테이너입니다.
  • 그러므로, 표준을 준수하는 JSP, Servlet, EJB 어플리케이션은 Resin서버에서 빠르고 안정적으로 운용됩니다.
  매우 빠르고 신뢰성있는 서버
 
  • Resin은 아주 빠른 성능을 제공합니다.
  • 국내에서만 지난 5년여간 대형 포탈사이트, 공공기관, 금융기관 등 수백개의 사이트에 공급되어 안정적으로 운영되고 있습니다.
  최고의 가격대비 성능
 
  • 국내 정식 디스트리뷰터인 (주)제스트정보기술로 부터 안정적이고 체계적인 기술지원을 받을 수 있슴에도.
  • 대형 벤더의 고가 WAS에 비해 적게는 수배에서 많게는 수십배 저렴하며
  • CPU가 증가하더라도 추가적인 비용이 발생되지 않습니다.
  최신 J2EE 사양 지원
 
  • Resin 서버는 최신의 JSP 1.2/2.0 사양을 지원합니다.
  • Resin 서버는 최신의 Servlet 2.3/2.4 사양을 지원합니다.
  • Resin 서버는 최신의 EJB 2.0/3.0(Draft사양)을 지원합니다.
  • Resin 서버는 자체적인 XML엔진을 제공합니다.
  • Resin 서버는 분산 세션 클러스터링을 제공합니다.
  • Resin 서버는 로드발란싱/페일오버기능을 제공합니다.
  • Resin 서버는 가상호스트(Virtual Host)를 제공합니다.
  • Resin 서버는 HTTP웹서버를 내장하여 웹버서기능을 제공합니다.
  • Resin 서버는 SSL을 이용한 안전한 통신을 제공합니다.
  • Resin 서버에 대한 자세한 상담이나 지원은 국내 정식 디스트리뷰터인 당사로 연락주시기 바랍니다.

 

Resin 서버 구성도

 


 

Resin서버는 분산세션 및 로드발란싱 등 뛰어난 성능과 안정성을 제공하면서도 매우 유연한 구성방법을 제공하므로 복잡한 구성을 요구하는 사이트에서도 성공적으로 적용될 수 있습니다.

 

Resin서버 특징 및 기능

 

Servlet/JSP
  Resin서버는 최신의 Servlet/Jsp 사양을 지원하는 J2EE 컨테이너입니다.
   
  EJB 지원
  Resin서버는 최신의 EJB 사양을 지원하는 J2EE 컨테이너입니다.
   
  HTTP/HTTPS지원
  자체 내장된 웹서버 기능에 대한 소개입니다.
   
  DB Connection Pool
  Resin서버는 견고한 데이터베이스 Connection Pool을 제공합니다.
   
  로드발란싱/페일오버 지원
  Resin서버는 멀티인스턴스간의 로드발란싱/페일오버기능을 제공합니다.
   
  분산세션 지원
  Resin서버는 멀티인스턴스간의 세션공유 기능을 제공합니다.
   
  서버 캐싱
  Resin서버는 내장 프록시 캐시를 이용하여 획기적 성능 개선방식을 제공합니다.

 

Sevlet & JSP

 

최신 Servlet 사양 지원
 
  • Resin서버는 고성능 서블릿 컨테이너로 최신 서블릿 사양인 Servlet 2.3/2.4을 지원합니다.
  • 변경된 Servlet 및 JSP 페이지 자동갱신으로 편리한 개발환경제공
  • FastCGI서블릿, LoadBalancing 서블릿등 개발과 운용시 유용한 서블릿을 제공합니다.
  최신 JSP사양 지원
 
  • Resin서버는 고성능 JSP 컨테이너로 최신 JSP사양인 JSP 1.2/JSP 2.0 지원합니다.
  • JSP EL(Expression Language)지원합니다.
  • JSTL을 지원합니다.
  기타
 
  • Resin서버는 Filter Interface(Servlet 2.3 Spec)를 지원합니다.
  • Gzip Filter등 개발과 운용시 유용한 필터들을 제공합니다.
  • 클래스로더의 설정에 따라 클래스 자동컴파일 기능을 제공합니다.
  • 유연한 Web App구조지원-MVC(Model-View-Controller)
  • .WAR 및 Webapps디렉토리를 통한 web app 의 Plug&Play 가 가능합니다.
  ** Servlet 2.4 및 JSP 2.0은 Resin 3.x 에서 지원함

 

EJB/JMS지원

 

EJB 포커싱의 변화
 
  • EJB 2.0은 기존 EJB1.x 사양으로 부터 많은 변화가 있음
  • 기존 EJB는 분산 오브젝트 중심 -> Database Management로 중심 이동
  • 기존 EJB Call은 느리다 -> 새로운 Local 인터페이스를 통한 호출은 아주 빠르다. EJB 메소드가 Transaction을 지원하므로 속도가 느렸으나 캐싱 등의 기법을 통해 성능이 향상됨(작은 규모의 시스템에서도 JDBC를 통한 직접 접근에 비해 느리지 않다)
  • 기존 EJB가 주로 대형시스템용이다 -> Database Management로 중심이 이동되어 소규모 사이트에 적용하는 것 또한 매우 적절한 선택이 될 수 있다.
  Entity Bean(Local 인터페이스 지원/권장)
 
  • Stateful Session(Remote/Local)
  • Stateless Session(Remote/Local)
  Session Bean(Local 인터페이스지원/권장)
 
  • BMP지원
  • CMP지원
    • 각각의 DB table은 하나의 “entity bean”에 대응.
    • 개발자는 SQL을 사용하지 않아 어플리케이션 코드에 유연성을 제공.
    • Database Management를 위한 대부분의 것이 숨겨지고, Transaction 관리, Caching관리, Fail over 등은 CMP에 의해 자동 처리.
  Message Driven Bean 지원
 
  • JMS로 부터의 Message처리
  JMS 지원
 
  • Memory based Queue
  • DB based Queue

 

HTTP 1.1 을 지원하는 자체 웹서버 제공

 

HTTP1.1을 지원하는 고성능 Web Server 내장
 
  • HTTP 1.0을 지원하는 클라이언트의 경우 HTTP 1.0으로 응답
  • HTTP 1.1을 지원하는 클라이언트의 경우 HTTP 1.1로 응답
  HTTPS지원
 
  • JSSE을 이용
  • OPENSSL을 이용(권장)
  인기있는 웹서버와 연동모듈 제공
 
  • 웹서버 플러그인을 소스레벨로 제공하므로 기존 웹서버의 기능을 그대로 활용하면서 동시에 Resin서버를 이용할 수 있음.
  • 연동가능 웹서버
    • Apache웹서버 1.3.x, 2.0.x
    • IIS 5.0, 6.0
    • Sun One 웹서버(Iplanet or Netscape)
    • Zeus 웹서버
  가상호스트(Virtual Host) 지원
 
  • Resin 서버만으로도 한대의 서버에서 여러 도메인에 대한 서비스를 할 수 있으며 각각의 가상호스트 및 web-app는 별도의 컨텍스트를 가짐으로 완벽하게 분리 보호됨
  • 보안 등 사이트의 상황에 따라 멀티티어의 구성이 가능
  • 동일 하드웨어에 웹버서, Resin, DB를 두거나 혹은 각각을 분리하여 운영할 수 있음.
  Thread 관리
 
  • Thread-max 설정을 통한 최대쓰레드수 제한
  • Thread-min(spare-thread-min) 설정을 통한 여유 쓰레드수 관리
  기타
 
  • Thread-keepalive 설정을 통한 클라이언트와의 통신소켓 재사용
  • Request-timeout(read-timeout)을 통한 클라이언트의 idle상태 제어

 

DB Connection Pool

 

고성능 데이터베이스 Connection Pool제공
 
  • JNDI Context로 DataSource를 정의
  • 어플리케이션에서는 resin.conf혹은 web.xml/resin-web.xml등에 설정한 데이터베이스를 JNDI에서 호출하여 사용함
  • DataSource는 새로운 database connection을 위한 JDBC구조임.
  • 각각의 Web-App는 개별적으로 자신의 Database Pool을 구성할 수 있으므로 컨텍스트간의 완벽보호.
  • Resin.conf의 상위 블록에 Connection Pool설정을 기술할 경우 그 블록내의 호스트(가상호스트 혹은 기본호스트)와 web-app에서 database pool공유
  Pooling 파라미터
 
  • Max-connections(허용된 연결의 최대 수)
  • Max-idle-time(Pool속에서 유지되는 최대 idle시간)
  • Max-active-time
  • Max-pool-time
  • Connection-wait-time
  • Max-overflow-connections
  • Ping-table
  • Ping-on-idle
  • Ping-interval
  • Database의 로드발란싱을 제공(Resin 3.x, 오라클의 RAC)

 

Load Balancing & Failover지원

 

Load Balancing
 
  • Resin서버는 여러대의 H/W로 구성하는 것을 지원하는 것은 물론 1대의 H/W에서도 Multi Instance를 운영할 수 있습니다. 이를 통하여 1인스턴스를 운영하면서 문제발생 시 장애로 곧바로 이어지는 것을 방지할 수 있고, 로드를 분산하여 더 나은 성능을 제공할 수 있습니다.
  • 여러대의 H/W에 Resin을 설치하는 경우에도 H/W Load Balancer없이 Resin과 Resin에서 제공하는 플러그인 모듈을 통하여 Load Balancer의 기능을 제공하여 보다 안정적인 서비스가 가능하도록 합니다.
  Load Balancing 방법
 
  • 웹서버의 Resin 플러그인 모듈을 이용하여 백엔드 Resin서버로 로드발란싱
  • Resin의 Load Balancing 서블릿을 이용하여 백엔드 Resin서버로 로드발란싱

 

분산 Session

 

구성형태에 따라 file-store, tcp-store, jdbc-store 제공
 
  • File-store의 경우 한대의 시스템에 멀티인스턴스운영시 세션공유방법으로 적당
  • Tcp-store의 경우 여러대의 시스템에 걸처 resin이 구성되었을 때 세션공유방법으로 적당
  • Jdbc-store의 경우 session fail의 상태를 최소화하기에 적당
  TCP-RING
 
  • Session이 항상 별도의 서버에 복제되므로 TCP-ring Session은 서버 실패 시에도 Session을 유지
  • TCP-ring 세션은 추가되는 서버가 로드를 나누므로 세션복제시의 네트웍Bandwidth 문제와 복제 부하 절감.
  • Sticky-session 로드밸런싱과 조합하여 사용하여 오버헤드를 획기적으로 절감가능
  세션공유방법
   
  Sticky Session의 경우 Non-Sticky Session의 경우
 

 

Server Caching

 

서버 Cache?
 
  • 동적 페이지를 거의 스태틱페이지 수준의 스피드로 서비스가능
  • 데이타베이스 등의 서버리소스 부하 절감.
  • 대부분의 데이타베이스에 저장된 자료는 빈번하게 변하지 않으므로 Resin의 HTTP caching Protocol을 이용시 성능향상
  • Servlet 엔진과 통합되어 외부 Proxy Cache에 비해 높은 유연성 제공
  • HTTP Header Expires, Etag 등 활용
  • 캐시가 불가능한 페이지의 경우 서브페이지 캐싱 가능
  서버 Cache 구성도
 

 

지원플랫폼

 

 

Java와 Perl을 지원하는 다양한 Unix/Linux
 
  • Linux(redhat 7,8,9, ES, AS, Suse,….)
  • Sun Solaris(2.6, 2,7, 2.8,…..)
  • HP HP-UX(PA-RISC기반 , Itanium기반 IA64)
  • HP OSF1
  • IBM AIX(4.x, 5x.)
  • BSD
  • MAC OS X
  • ....
  Windows
 
  • Windows 98
  • Windows ME
  • Windows 2000
  • Windows XP
  • ....
  JDK(JRE)
 
  • Resin 2.x : JDK 1.2 이상
  • Resin 3.x : JDK 1.4 이상