This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1SoftwareGroup WebSphereConfidential - Do Not Distribute
2011. 9.
IBM SoftwareGroup WebSphere CTP 이정운 과장 (JungWoon Lee, [email protected])
4SoftwareGroup WebSphereConfidential - Do Not Distribute
3. 멀티 쓰레드 기능
IBM WAS 는 프로세스의 생성 소멸에 소요되는 부하를 줄이기 위해 멀티 쓰레드 기능을 제공할 뿐만 아니라, Asynchronous I/O 기반의 WebSphere Transport Channel Service 와 연동하여 구동되므로 적은 수의 쓰레드로도 대량의 요청을 고속으로 처리 하도록 제공합니다.
WebSphere 의 Transport Channel Service개별 채널의 생성과 라이프사이클을 관리하는 WebSphereApplication Server의 한 컴포넌트입니다.(멀티 쓰레드 기반)
WebSphere 의 많은 서비스가 Transport Channel Service를사용합니다.
웹 컨테이너, EJB 컨테이너
IBM Service Ingegration Technology(Messaging)
Distribution and Consistency Service(DCS)
Web Services SOAP/HTTP 클라이언트
웹 컨테이너의 안정성을 확대 할 수 있습니다.
Asynchronous I/O 기술을 사용하여 웹 컨테이너가 동시에제어할 수 있는 커넥션의 수를 증가시키고, 반대로 필요한스레드 수는 감소시킴.
7SoftwareGroup WebSphereConfidential - Do Not Distribute
5. Request 무한대기 방지
IBM WAS 는 Request 무한대기 방지를 위해서 Thread Kill 기능을 별도로 제공하지는 않지만(강제적인Thread Kill 기능은 정합성 이슈가 발생할 수 있으므로 대부분의 WAS 에서는 권고하지 않습니다.) Request 무한대기 방지를 위하여 무한대기 하는 Thread 에 대한 경고 로깅 및 Stack trace 출력 기능을 제공하며, 필요한경우 강제로 좀더 자세한 Javacore 를 생성하게 설정하도록 제공합니다.
Thread Monitor
Thread
Thread
ThreadThread
Thread Thread
Thread
IBM WebSphere Application Server
1. Thread Monitor 가 설정된 주기별로 관리되는 Thread 를 체크2. Thread Monitor 가 해당 Thread 가 얼마동안살아있었는지 체크3. 해당 Thread 가 지정된 시간이상 살아있었다는 것을감지(무한 대기 예상)4. 적절한 경고를 출력하며, 이때 손쉬운 분석을 위한Stack trace 도 같이 출력-> 이를 이용하여 무한대기 문제가 발생되었을 경우 해당program 을 손쉽게 파악할 수 있으며 조치 가능
Thread
Thread
Thread
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
9SoftwareGroup WebSphereConfidential - Do Not Distribute
6. JDBC Connection IBM WAS 는 EIS(Enterprise Information System) 에 대한 Connection 관리 아키텍처는 Java EE 표준의 JCA 표준을 통해서 이루
어집니다. Connection 관리자(CM) 는 JCA 표준에서 정의된 자원어뎁터(Resource Adapter) 나 특정 벤더의 DB와 JDBC 연결을제공하는 드라이버 구현 클래스를 제공하는 JDBC 프로바이더와 조합되는 Data source 를 통해서 얻어진 Connection 을 관리할수 있습니다.
JDBC Connection 관리 구조 EJB 에서 호출하는 경우
1. EJB 가 data source, connection factory 에 대해서JNDI 룩업(lookup) 을 수행하고 getConnection() 을요청을 발행합니다.
2. Connection factory 는 요청을 Connection Manager(CM) 에게 위임합니다.
3. CM 은 WAS 내의 Connection pool 인스턴스(instance) 를 찾습니다. 만약 Connection pool 이 가용하지 않다면 CM은 ManagedConnectionFactory를 사용하여 물리적이며 풀링 되지 않은 connection 을 생성합니다.
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
12SoftwareGroup WebSphereConfidential - Do Not Distribute
9. 대체 JDBC Connection IBM WAS 는 만약 DB 장애가 발생을 해도 해당 DB 시스템이 자체적인 이중화 방안을 제공하고 있다면 재접속에 의해 서비스
는 즉시 정상화 되며, 해당 DB 시스템이 자체적인 이중화 방안을 제공하고 있지 않다면 WAS 에서 대체 JCA Connection 을 사전에 설정하여 다른 대체 DB 로 failover 하여 서비스를 정상화 시킬 수 있습니다. 뿐만 아니라, 이전 DB 서버의 장애가 복구되면 failback 도 가능합니다.
대체 JCA Connection 지정
DB 에 연결되는 Connection 을 지정할 때 해당 DB 에대한 작업을 수행하는 것에 추가하여 별도로 대체Connection 을 미리 지정할 수 있는 기능
기 연결된 DB 부분에 문제가 있을 때 어플리케이션코딩 없이 자동으로 원래의 Connection 이 아니라 기지정된 대체 Connection 활용
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)