WebSphere의 기본 관리 구조(Architecture)는 흔히 '서버'라고 불리는 소프트웨어 프로세스, '노드(Node)'와 '셀(Cell)'로 일컬어지는 토폴로지 유닛, configuration 정보를 저장하기 위해 사용되는 'Configuration 저장소'로 크게 보면 4가지 개념으로 이루어진다. 이 속에서 AS(Application Server), 노드 에이전트 서버, Deployment Manager(배포 관리자), Administrative Agent(관리 에이전트), Job Manager(작업 관리자) 라는 개념이 들어있고, 이들은 서로 상호작용하며 시스템 관리를 수행한다.
1. 서버(Server)
서버(Server)는 실제적으로 코드를 수행하는 주체이다. 구성에 따라 여러가지 유형의 서버가 존재하며, 각 서버는 자체 JVM(Java Virtual Machine) 위에서 동작한다. AS(Application Server)는 WebSphere Application Server Configuration에서 가장 기초적인 런타임 컴포넌트이다. 모든 WebSphere Application Server Configuration은 하나 또는 그 이상의 어플리케이션 서버에 대해 적용될 수 있으며, 각 서버들마다 워크로드 분산이 되지 않는 설정일 수도 있고, Central Point로부터 워크로드가 분산되는 형태의 서버 설정일 수도 있다.
2. 노드(Node)
노드(Node)란, 공통의 한 Configuration 저장소를 공유하는, WebSphere Application Server들을 관리하는 하나의 단위라고 볼 수 있다. 한 노드는 단일 profile과 연관되는데, 이 말이 반드시 하나의 시스템(여기서는 물리적인 서버 또는 컴퓨터를 말함)과 1대1로 매칭되는 관계라고는 볼 수 없다. 이 말은 한 컴퓨터(또는 서버)가 임의적인 수의 여러대의 노드를 호스팅할 수 있으나, 한 노드가 여러 대의 컴퓨터에 의해 호스팅은 될 수 없다는 것을 의미한다.
한 노드는 0개 이상의 AS(소프트웨어적인(?) 서버 인스턴스를 말함.)를 포함한다.
3. Configuration 저장소
Configuration 저장소는 WebSphere Application Server 환경의 configuration을 정의하는 각각의 configuraion 문서(Documents)들을 보유하고 있는 주체이다.
노드가 Stand-alone 일 때에는(셀을 이루지 않음), Configuration 저장소가 온전히 해당 노드에 위치하고, 여러 노드가 모여 셀을 이룰 경우에는, 해당 셀 내에서의 모든 노드에 대한 Configuration 및 Application 파일이 '셀 마스터'의 Configuration 저장소에 위치하게 된다. 즉, 중앙집중형 관리 방식이 되는 것이다. 이렇게 중앙집중된 Configuration 저장소는 DMGR 서버에 의해 관리되어지고, 각 노드들은 해당 Configuration의 'Local 복사본'을 가짐으로써 동기화된다. 이때 Local 복사본은 해당 노드에 필요한 Configuration 정보만 들어 있으며, DMGR 서버가 직접적으로 관장하는 Full Configuration이 아닌 것이다.
4. 셀(Cell)
셀(Cell)이란, WebSphere Application Server의 분산 환경에서 여러 노드들을 묶어, DMGR(Deployment Manager)가 관리할 수 있는 하나의 관리상 영역(Administrative Domain)을 말한다. 즉 여러 노드들이 묶여 있는 하나의 논리적인 집합으로 볼 수 있다. 여러 노드가 모여 하나의 셀을 이루게 되면, 해당 셀의 전체 Configuration을 관장하는 DMGR 역할의 노드와 DMGR의 명령(?)을 받아 실질적인 Configuration을 적용시키는 역할을 하는 Node Agent(각 노드마다 존재)가 존재해야 한다.
- Administrative Agent (관리 에이전트)
- 개발 및 단위 테스트 또는 한 단일 컴퓨터(물리적인 서버)에 상주하는 서버 팜(Server Farm)의 일부와 같은 환경에서 서로 연합되지 않은(unfederated) 다수의 AS들을 관리하기 위한 하나의 인터페이스를 제공하는 역할.
- AS 노드들을 Administrative Agent를 통해 관리하려면, 사전에 Administrative Agent에 해당 AS 노드들이 등록되어야 함. - Job Manager (작업 관리자)
- Job Manager에 사전 등록된 AS 노드 및 DMGR에 대해 '비동기식으로(Asynchronously)' 관리 작업을 제출할 수 있도록 하는 역할. 이를 통해 유연한 관리 환경 구성이 가능함.
참고
'Middleware > WAS' 카테고리의 다른 글
[JBoss] JBoss EAP 6 모듈 아키텍처 (0) | 2022.07.21 |
---|---|
[WebLogic] 도메인(Domain) 디렉토리 구조 (1) | 2022.05.11 |
[WebLogic] 웹로직의 기본 - 구성 요소 (0) | 2022.05.11 |
[JBoss] JBoss EAP 7의 디렉토리 구조 (0) | 2022.03.23 |
[WebSphere] WebSphere Applicaiton Server의 정의 및 구조 (0) | 2022.03.14 |
최근댓글