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서버 특징 및 기능
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 지원 |
|
- 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지원 |
|
|
|
인기있는 웹서버와 연동모듈 제공 |
|
- 웹서버 플러그인을 소스레벨로 제공하므로 기존 웹서버의 기능을 그대로 활용하면서 동시에 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 이상
|
|