관계 - Archyl Docs

아키텍처 요소 간의 관계를 생성하고 스타일링하는 방법을 알아보세요

관계

관계는 아키텍처 요소들이 어떻게 통신하고, 의존하고, 상호작용하는지를 보여줍니다. 아키텍처 문서의 핵심적인 부분입니다.

관계 생성

드래그 앤 드롭

  1. 소스 요소 위에 마우스를 올립니다
  2. 연결 포인트(작은 원)에서 클릭하고 드래그합니다
  3. 대상 요소에 놓습니다
  4. 관계가 자동으로 생성됩니다

컨텍스트 메뉴

  1. 소스 요소를 우클릭합니다
  2. "관계 생성"을 선택합니다
  3. 대상 요소를 클릭합니다

관계 속성

레이블

레이블은 관계가 나타내는 것을 설명합니다:

  • "주문을 전송"
  • "데이터를 읽음"
  • "인증에 사용"
  • "배포 대상"

모범 사례:

  • 능동태 사용
  • 흐르는 것을 구체적으로 명시
  • 간결하게 유지

기술

선택적으로 기술이나 프로토콜을 명시합니다:

  • "REST/HTTPS"
  • "gRPC"
  • "AMQP"
  • "SQL/TCP"
  • "WebSocket"

방향

관계는 화살표로 표시되는 방향이 있습니다:

  • 단방향: 단방향 통신 (가장 일반적)
  • 양방향: 양방향 통신

관계 스타일링

선 스타일

  • 실선: 직접적인 의존성 또는 통신
  • 점선: 선택적이거나 비동기 통신

색상

색상을 사용하여 관계를 분류합니다:

  • 파란색: 데이터 흐름
  • 녹색: 성공 경로
  • 빨간색: 오류 처리
  • 회색: 선택적

곡선 vs 직선

  • 곡선: 복잡한 다이어그램에 적합, 겹침 방지
  • 직선: 간단한 다이어그램에 더 깔끔

일반적인 패턴

요청-응답

Web App --"API 호출 [REST/HTTPS]"--> API Server

이벤트 기반

Order Service --"이벤트 발행 [AMQP]"--> Message Queue
Notification Service <--"이벤트 구독 [AMQP]"-- Message Queue

데이터베이스 접근

API Server --"데이터 읽기/쓰기 [SQL/TCP]"--> Database

외부 API

Payment Service --"결제 처리 [REST/HTTPS]"--> Stripe API

교차 레벨 관계

컴포넌트 레벨에서 볼 때 관계는 다른 컨테이너에 걸쳐 있을 수 있습니다:

  • 컴포넌트는 시스템의 다른 부분에 있는 컨테이너에 연결 가능
  • 현재 뷰를 떠나지 않고 전체 그림을 보여줄 수 있음

과도한 연결을 피하세요

가능한 모든 관계를 표시할 필요는 없습니다. 다음에 집중하세요:

  • 주요 데이터 흐름
  • 중요한 의존성
  • 명확하지 않은 연결

관련 관계를 그룹화하세요

여러 요소가 동일한 방식으로 통신하는 경우 다음을 고려하세요:

  • 중간자 사용 (API 게이트웨이, 메시지 큐)
  • 오버레이로 그룹화

레이블을 읽기 쉽게 유지하세요

  • 겹침을 피하도록 레이블 위치 조정
  • 깔끔한 다이어그램을 위해 짧은 레이블 사용
  • 요소 설명에 세부 정보 추가