이 단계에서는 시스템 요소가 이전 단계에 정의된 노드에 할당됩니다. 논리 및 실제 측면 둘 다에서 배치를 설명할 수
있습니다.
논리적 배치는 논리 요소(클래스, 서브시스템 또는 이에 대한 인스턴스)가 노드에 맵핑되는 경우입니다. 여기에는 제어 스레드가 포함될 수 있습니다. 예를 들어, 논리적 배치는 AuctionManager 서브시스템이 응용프로그램 서버에
배치된다고 할 수 있습니다.
실제 배치는 파일이 노드에 맵핑되는 경우입니다. 예를 들어, 실제 배치는 CloseAuctionTimer.class 파일이 server76에 배치된다고 할 수 있습니다.
분배는 합계가 부분의 합계 보다 적을 수 있고 대개 그러한 하나의 영역입니다. 분배 이점을 실제로 달성하려면 작업과 신중한 계획이 필요합니다. 어느 요소를 어느 노드에 맵핑할지 결정할 때 다음을 고려하십시오.
-
노드 용량(메모리 및 처리 능력 면에서)
-
통신 매체 대역폭(버스, LAN, WAN)
-
하드웨어 및 통신 링크의 가용성, 재라우팅
-
중복성 및 결함 허용 요구사항
-
응답 시간 요구사항
-
처리량 요구사항
요소는 교차 네트워크 트래픽의 양을 최소화할 목적으로 노드에 할당됩니다. 상호작용 빈도가 높은 요소는 동일한 네트워크에 나란히 배치해야 하며, 반면에 상호작용 빈도가 낮은 요소는 다른 노드에 상주할 수 있습니다.
중요한 결정이자 때때로 반복이 필요한 결정은 경계를 짓는 위치입니다. 두 개 이상의 노드에 프로세스를 분배하려면 시스템에서 프로세스 간 통신 패턴을 면밀히 검토해야 합니다. 처리를 분배하면 한 시스템에서 두 번째
시스템으로 작업의 로드를 덜 수 있다는 단순한 인식을 하는 경우가 종종 있습니다. 실제로는 프로세스 및 노드 경계를 주의깊게 고려하지 않으면 분배를 통해 얻은 이익이 프로세스 간 추가 통신 워크로드로 인해 쉽게
무산될 수 있습니다.
예제
이전 예제 다이어그램(ATM의 배치 보기)은 노드에 프로세스를 할당하는 ATM 노드를 설명합니다. 단일 프로세스(메인 ATM)가 있으며, 이는 세 개의 별도 제어 스레드(고객 인터페이스, ATM
네트워크 인터페이스 및 장치 제어기)로 구성됩니다.
일부 환경은 분배 자동화 및/또는 단순화를 위한 메커니즘을 제공합니다. 예제:
-
클러스터: 클러스터는 단위의 역할을 하는 서버 그룹입니다(일반적으로 장애 복구, 로드 밸런스 조절과 같은 기능을 포함). 이 경우, 배치 보기는 시스템 요소를 클러스터에 할당하는 방법은 물론
실제 노드에 맵핑할 수 있도록 클러스터를 구성하는 방법을 설명해야 합니다.
-
컨테이너: 컴포넌트 환경(예: J2EE, Microsoft .NET 및 기타)에서 컴포넌트는 컨테이너라는 논리적 컴퓨팅 환경 내에서 실행됩니다. 컨테이너는 "논리 노드"라고 간주할 수 있습니다.
배치 보기는 시스템 요소를 컨테이너에 배치하는 방법과 실제 노드에 컨테이너를 할당하는 방법을 설명해야 합니다.
이러한 지원 분배 메커니즘 사용과, 분배 요구사항을 충족할 수 있도록 구성하여 실제 노드에 맵핑하는 방법을 배치 보기의 일부로 문서화해야 합니다.
|