다중 영역 환경에서 Java ES를 배포하는 일반적 목표는 제품 구성 요소 런타임 격리와 효율적인 자원 활용을 제공하는 것이지만 이 환경을 사용해야 하는 더욱 구체적인 목표가 많이 있습니다. 이러한 목표는 Java ES에 영역을 사용하는 이유에 잘 나와 있습니다. 다중 영역 환경의 Java ES를 위한 설치 및 관리 전략은 달성하려는 이러한 목표에 따라 매우 다양하게 설정됩니다.
표 A–2에는 5가지 시나리오, 해당 설치 및 관리 전략, 달성 목표가 비교되어 정리되어 있습니다. 어떤 경우에는 이러한 시나리오를 혼합할 수도 있지만 결과에 문제를 내포하거나 관리를 혼란스럽게 만들 수 있습니다. 따라서 Java ES 릴리스 5에서는 일반적으로 이러한 시나리오가 혼합된 배포를 지원하지 않습니다.
또한 시나리오 1과 시나리오 5에는 문제가 있으므로 이러한 시나리오는 현재 Java ES 릴리스 5에서 지원하지 않습니다(시나리오 5의 경우 특정 제품 구성 요소에서 조정될 수 있음).
표 A–2 Java ES를 위한 영역 설치 및 관리 전략
시나리오(설치 전략) |
관리 전략 |
목표( Java ES에 영역을 사용하는 이유 참조) |
설명 |
---|---|---|---|
1: 전달 기능으로 전역 영역에 제품 구성 요소 및 공유 구성 요소 설치. 비전역 영역에는 구성 요소 설치 안 함.* |
구성 요소 라이프 사이클 관리: 전역 관리자 구성 및 런타임 관리: 영역 관리자 |
중앙 집중식 제품 구성 요소 라이프 사이클 관리 제품 구성 요소 구성 및 런타임 관리를 위한 조직의 독립성 |
문제점: Java ES 제품 구성 요소에는 아직 지원되지 않음(예외: Message Queue). 전역 영역에 제품 구성 요소를 설치하고 비전역 영역에서 구성 및 런타임 관리를 수행해야 합니다. |
2: 전역 영역에 공유 구성 요소 설치 및 전체 루트 영역에 제품 구성 요소 설치 |
공유 구성 요소 라이프 사이클 관리: 전역 관리자 제품 구성 요소 라이프 사이클 관리: 영역 관리자 구성 및 런타임 관리: 영역 관리자 |
중앙 집중식 공유 구성 요소 라이프 사이클 관리 제품 구성 요소 라이프 사이클, 구성 및 런타임 관리를 위한 조직의 독립성 |
일반적으로 모든 구성 요소가 동일한 Java ES 버전이거나 모든 전체 루트 영역에 있는 모든 제품 구성 요소를 업그레이드하는 경우 적용할 수 있습니다. |
3: 전역 영역에 공유 구성 요소 설치 및 스파스 루트 영역에 제품 구성 요소 설치** |
시나리오 2와 동일 |
중앙 집중식 공유 구성 요소 라이프 사이클 관리 제품 구성 요소 라이프 사이클, 구성 및 런타임 관리를 위한 조직의 독립성 시나리오 2보다 높은 자원 효율성( 전체 루트 영역 대 스파스 루트 영역 참조) |
이 시나리오는 스파스 루트 영역에서 제품 구성 요소를 설치하는 경우에 권장됩니다. (일부 공유 구성 요소는 스파스 루트 영역에 설치할 수 없으므로 전역 영역에 설치해야 합니다.) |
4: 전체 루트 영역에 제품 구성 요소 및 공유 구성 요소 설치 |
구성 요소 라이프 사이클 관리: 영역 관리자 구성 및 런타임 관리: 영역 관리자 |
버전 분리 |
전역 영역에 공유 구성 요소 또는 제품 구성 요소를 설치하지 않습니다. 전체 루트 영역에 권장되는 시나리오입니다. |
5: 스파스 루트 영역에 제품 구성 요소 및 공유 구성 요소 설치 |
시나리오 4와 동일 |
제품 구성 요소 라이프 사이클, 구성 및 런타임 관리를 위한 조직의 독립성 시나리오 4보다 높은 자원 효율성( 전체 루트 영역 대 스파스 루트 영역 참조) |
문제점. 스파스 루트 영역에 많은 공유 구성 요소를 설치할 수 없으므로 대개는 구현될 수 없음. |
* 시나리오 1에서는 전체 루트 영역 환경과 스파스 루트 영역 환경을 구분하지 않으므로 비전역 영역에는 제품 구성 요소를 설치하지 않다고 가정합니다. 그러나 시나리오 2-5에서는 비전역 영역에 제품 구성 요소를 설치합니다.
** 시나리오 3에서는 /opt 디렉토리가 읽기 전용 디렉토리로 스파스 루트 영역에 생성되어 있지 않다고 가정합니다. /opt 디렉토리가 읽기 전용이면 대부분의 Java ES 제품 구성 요소를 스파스 루트 영역에 설치할 수 없으며 대체 방법으로 시나리오 1처럼 전역 영역에 설치해야 합니다.
다음에는 표 A–2를 고려하여 여러 권장 사례가 제시되어 있습니다.
Java ES에 영역을 사용하는 이유에서 원하는 목표에 따라 Java ES 영역 배포 전략을 미리 계획합니다. 표 A–2의 다양한 시나리오에서 보여주듯이 목표별로 별도의 다양한 설치 및 관리 전략이 필요합니다.
혼합된 시나리오는 피합니다. 특히 다음에 유의합니다.
Java ES 영역 배포 및 관리 전략을 가능한 한 단순하게 유지합니다. 동일한 컴퓨터에서 Java ES 구성 요소의 전체 루트 배포와 스파스 루트 배포를 혼합하지 않습니다. (시나리오 3과 같이 스파스 루트 영역 배포를 지원하는 데 필요한 절차와 사례는 시나리오 4와 같은 전체 루트 영역 배포에 영향을 미칠 수 있습니다.)
서로 다른 버전이더라도 동일한 Java ES 제품 구성 요소를 전역 영역과 비전역 영역에 동시에 설치하지 않습니다. (시나리오 1과 같이 전역 영역 설치를 업그레이드하는 데 필요한 절차는 시나리오 4와 같은 비전역 영역 설치를 손상시킬 수 있습니다.)
릴리스 4 또는 이전 릴리스의 Java ES 구성 요소가 전체 루트 영역에 설치되어 있으면 전역 영역에서 Java ES 릴리스 5 구성 요소(제품 구성 요소와 공유 구성 요소가 모두 해당됨)를 설치하지 않을 뿐만 아니라 전역 영역에서 해당 Java ES 구성 요소를 릴리스 5로 업그레이드하지도 않습니다. 즉 Java ES 설치가 이미 전체 루트 영역에 있으면 시나리오 2가 지원되지 않습니다. (그렇지 않고 전역 영역에서 설치하거나 업그레이드하는 경우 전체 루트 영역에서 릴리스 4 파일과 릴리스 5 파일이 혼합될 수 있습니다.)
권장되는 설치 사례:
개별 영역에서 별도의 Java ES 제품 구성 요소를 실행할 경우 비전역 영역에 제품 구성 요소를 설치합니다(시나리오 2, 3, 4, 5).
개별 영역에서 별도의 Java ES 제품 구성 요소를 실행하지만 중앙에서 공유 구성 요소 라이프 사이클을 관리할 경우 전역 영역에서 공유 구성 요소를 동기화한 다음 비전역 영역에 제품 구성 요소를 설치합니다(시나리오 2, 3). (이는 스파스 루트 영역에 제품 구성 요소를 설치할 때마다 권장되는 사례입니다.)
Java ES 제품 구성 요소의 버전을 분리하거나 다른 이유로 Java ES 제품 구성 요소의 배포를 격리할 경우(시나리오 4) 전체 루트 영역에 모든 Java ES 구성 요소를 설치하고 구성합니다. 전역 영역에는 어떠한 Java ES 구성 요소도 설치하지 않습니다.
권장되는 업그레이드 사례:
설치된 릴리스 4 제품 구성 요소를 릴리스 5로 모두 업그레이드할 경우 전역 영역에서 Java ES 공유 구성 요소를 모두 동기화한 다음 구성 요소가 설치되어 있는 영역에서 원하는 제품 구성 요소를 업그레이드합니다. (릴리스 5 공유 구성 요소는 이전 릴리스와 호환됩니다.)
비영역 환경에 릴리스 4 또는 릴리스 5 제품 구성 요소가 설치되어 있고 이 환경에 비전역 영역을 추가하여 새로운 비전역 영역에 제품 구성 요소를 설치할 경우 위에서 권장된 사례에 따라 수행되어야 합니다. 이렇게 하면 전역 영역의 구성 요소가 제거되고 비전역 영역에 해당 구성 요소가 다시 설치됩니다.
표 A–2의 시나리오와 위에서 설명한 권장 사례에는 다중 영역 환경에 권장되는 Java ES 배포 아키텍처가 포함되어 있지 않습니다. 이러한 구조는 다중 컴퓨터 네트워크 환경에 맞게 만들어진 배포 아키텍처를 채택한 것입니다. 다시 말하면 다중 영역 환경의 가용성으로 인해 Java ES 배포 시스템에 고성능, 고가용성, 확장성, 보안 및 서비스 가용성을 제공하기 위한 기본 배포 설계 방법이 변경되지 않는다는 것입니다. 다중 영역 환경에서는 더 적은 수의 컴퓨터에 이러한 배포 아키텍처를 통합하는 작업이 수행될 수 있습니다.
그러나 다중 영역 환경에 Java ES 배포 아키텍처를 채택하는 방법에 대한 자세한 내용은 앞 절에서 설명한 대로 원하는 관리 전략에 따라 매우 달라집니다. 배포 아키텍처도 고가용성 달성 전략에 따라 달라집니다.
앞의 표 A–2와 권장 사례에는 설명된 시나리오를 구현하는 권장 절차가 포함되어 있지 않습니다. 어떤 경우에는 Java ES 구성 요소의 설치 순서와 비로컬 영역을 만드는 순서가 중요할 수도 있습니다.