구성도는 구성 요소 간의 논리적 관계를 설명합니다.
배포도는 여기에서 더 나아가 시스템 하드웨어의 물리적 토폴로지 구조와 이 구조에서 실행되는 소프트웨어를 설명합니다.
배포 다이어그램은 구현 다이어그램, 구성 다이어그램이라고도 하며, UML의 정적 다이어그램 중 하나로 시스템의 물리적 구조를 모델링하고 시스템의 하드웨어 물리적 토폴로지 및 이 구조에서 실행되는 소프트웨어를 설명합니다.
배포 다이어그램은 구성 요소 다이어그램과 마찬가지로 객체 지향 시스템의 물리적 구조 모델링을 위한 두 가지 다이어그램 중 하나입니다.
하나의 시스템 모델에는 하나의 배포 다이어그램만 있으며, 배포 다이어그램은 일반적으로 분산 시스템을 이해하는 데 도움이 되며, 개발 과정의 구현 단계에서 준비되어 분산 시스템의 노드의 물리적 레이아웃, 각 노드에 저장된 아티팩트 및 아티팩트가 구현하는 구성 요소 및 기타 요소를 표시합니다.
실시간 다중 사용자 공동 작업 및 공유 링크를 통한 즉각적인 정보 전달
텍스트 입력으로 자동 생성 및 스타일 최적화
사전 제작 테마 및 완전한 사용자 지정
아이콘, 이미지, 라벨, LaTeX 수식, 코드 블록, 링크, 첨부 파일 지원
내보내기: PNG, VISIO, PDF, SVG | 가져오기: VISIO, Mermaid
실시간 클라우드 저장, 다중 기기 동기화, 버전 기록 및 데이터 보안
구성도는 구성 요소 간의 논리적 관계를 설명합니다.
배포도는 여기에서 더 나아가 시스템 하드웨어의 물리적 토폴로지 구조와 이 구조에서 실행되는 소프트웨어를 설명합니다.
노드와 노드 인스턴스
1. 노드는 시스템의 컴퓨팅 자원을 나타내는 모델 요소로, 일반적으로 하드웨어 또는 소프트웨어의 실행 환경을 나타내며, 큐브로 표시됩니다.
2. 노드 인스턴스는 기존 노드를 기반으로 하며, 노드 인스턴스의 이름에는 밑줄이 있고 노드 유형 앞에는 콜론이 있습니다.
구성 요소와 구성 요소 인스턴스
1. 구성 요소는 소프트웨어 개발 과정의 산물로, 프로세스 모델(예: 유스케이스 다이어그램, 설계도), 소스 코드, 실행 프로그램, 설계 문서, 테스트 보고서, 요구 사항 프로토타입, 사용자 매뉴얼 등을 포함합니다.
2. 구성 요소 인스턴스는 기존 구성 요소를 기반으로 하며, 구성 요소 인스턴스의 이름에는 밑줄이 있고 구성 요소 유형 앞에는 콜론이 있습니다.
노드 연결
노드 연결은 노드 간의 선을 의미하며, 시스템 간의 상호작용 통신 경로를 나타냅니다.
UML1.x에서는 노드를 프로세서 노드와 장치 노드로 나누며, 프로세서는 음영이 있는 큐브로, 장치는 음영이 없는 큐브로 표시됩니다.
UML2.x에서는 노드를 장치 노드와 실행 환경으로 나누며, 장치는 <<device>> 스테레오타입의 큐브로, 실행 환경은 표준 스테레오타입 <<executionEnviroment>>로 지정됩니다.
배포 대상이 물리적 장비일 때, 통신 경로는 일반적으로 두 노드 간의 물리적 연결을 나타냅니다.
두 배포 대상이 실행 환경 노드일 때, 통신 경로는 일반적으로 몇 가지 프로토콜입니다.
1. 배포 구조를 설명하고 서비스, 데이터베이스, 웹 애플리케이션 등이 어떤 서버, 노드 또는 컨테이너에 배포되는지 보여줍니다.
2. 노드 간의 통신 관계를 보여주고 서버 간의 연결, 메시지 상호작용, 호출 경로 등을 표현합니다.
3. 시스템 배포 계획을 지원하여 개발자와 운영자가 시스템의 실제 실행 구조를 명확히 이해하는 데 도움을 줍니다.
4. 운영 및 시스템 문서 작성 지원, 배포 매뉴얼, 시스템 설명 문서, DevOps 가이드 파일 등을 설계하는 데 사용할 수 있습니다.
배포도, 네트워크 토폴로지 다이어그램 및 배포 아키텍처 다이어그램은 많은 유사점을 가지고 있어 혼동되기 쉽습니다. 아래 한 문장으로 이 세 가지 다이어그램의 차이를 요약합니다:
배포도는 소프트웨어 구성 요소가 실행 환경에 어떻게 배포되는지를 모델링하는 데 사용되며, 시스템 엔지니어와 아키텍트에게 적합합니다.
네트워크 토폴로지 다이어그램은 물리적 또는 논리적 네트워크 구조를 보여주는 데 사용되며, 네트워크 엔지니어/IT 운영에 적합합니다.
배포 아키텍처 다이어그램은 시스템 또는 플랫폼의 실제 배포 구조를 설명하는 데 사용되며, 기술 보고 및 DevOps 팀에 적합합니다.
UML1.x에서는 노드를 프로세서 노드와 장치 노드로 구분하며, 프로세서 노드는 그림자가 있는 큐브로, 장치 노드는 그림자가 없는 큐브로 표시합니다.
노드 인스턴스는 기존 노드를 기반으로 하며, 노드 인스턴스의 이름에는 밑줄이 있고 노드 유형 앞에는 콜론이 있습니다.
컴포넌트 인스턴스는 기존 컴포넌트를 기반으로 하며, 컴포넌트 인스턴스의 이름에는 밑줄이 있고 컴포넌트 유형 앞에는 콜론이 있습니다.
배포 다이어그램의 점선은 일반적으로 요소 간의 관계나 의존성을 나타내며, 한 요소가 다른 요소와 관련이 있거나 다른 요소에 의존하고 있음을 나타냅니다.
가능합니다. 배포 다이어그램은 여러 노드를 사용하여 클러스터나 중복 배포를 나타내며, '로드 밸런싱', '주/보조'와 같은 주석을 추가할 수 있습니다.
배포 다이어그램은 세부적인 실행 메커니즘에 집중하지 않지만 전체적인 구조 이해를 제공할 수 있습니다.
반드시 그렇지는 않습니다. 간단한 배포 다이어그램은 노드와 그들 간의 연결만을 보여줄 수 있습니다.
가능합니다. 고수준 논리를 중심으로 합니다. 노드 간에는 라벨이 있는 연결을 사용하여 통신을 나타내고, 통신 프로토콜(예: HTTP, RPC, TCP)을 명시할 수 있습니다.
하지만 배포 다이어그램으로 복잡한 네트워크 토폴로지를 그리는 것은 권장되지 않으며, 복잡한 네트워크는 네트워크 아키텍처 다이어그램으로 보완하는 것이 좋습니다.