아키텍처 기본

ik_e·6일 전

아키텍처 제1원칙 구조도

순서

  1. 자원과 조건 정의
  2. 결과 지표 정의
  3. 관계 매핑 (1,2 요소)
  4. 트레이드 오프 정의
  5. 이후 트레이드 오프 관계 등을 이용해 자원 배분 설계

세부 사항 (예시)

  1. Input (원시 자원과 제약)
    시스템을 구성하고 유지하기 위해 투입하거나 감당해야 하는 물리적·구조적 원재료

컴퓨팅 파워 (Compute / CPU): 로직을 수행하고 연산을 처리하는 물리적 능력

저장 공간 (Storage Space): 데이터를 적재하는 물리적 용량 (메모리 RAM, 디스크 SSD/HDD)

저장소 계층 및 I/O 경로 (Storage Hierarchy): 데이터가 어디에 위치하며 어떤 물리적 경로를 거치는가 (RAM ➔ Local SSD ➔ Network DB). 지연 시간의 근본 원인

네트워크 (Network Bandwidth & Topology): 노드 간 데이터 이동 통로와 물리적 거리

시스템 복잡도 (Cognitive Load / Blast Radius): 미들웨어와 분산 노드가 늘어날 때 발생하는 인적 운영 제약 및 장애 전파 범위

  1. Output (결과 지표)
    자원의 배치와 흐름에 따라 최종적으로 측정되는 시스템의 성과 및 상태 지표

대기 시간 (Latency): 하나의 요청이 처리되거나 응답이 돌아오는 데 걸리는 절대적 시간

처리량 (Throughput): 단위 시간당 시스템이 소화할 수 있는 일의 총량 (TPS, QPS)

정합성 (Consistency): 분산된 데이터 간의 일치 여부와 신뢰도

가용성 (Availability): 시스템이 멈추지 않고 정상 응답을 제공하는 확률

  1. 관계 매핑 (인과관계)
    자원과 결과 사이에 작용하는 물리적·구조적 법칙

저장소 계층 ➔ 대기 시간: 데이터를 원격 네트워크 DB(느린 계층)에서 인메모리 캐시(빠른 계층)로 옮길수록 I/O 대기 시간이 사라져 Latency가 극적으로 단축

동기화 ➔ 처리량/대기 시간: 모든 노드가 완벽한 정합성을 맞출 때까지 락을 잡고 대기(Blocking)하면, Throughput은 바닥을 치고 Latency는 치솟습니다. 반대로 이벤트를 비동기 큐로 흐르게 두면 처리량은 늘어나지만 일시적 정합성이 깨짐

분산/미들웨어 ➔ 복잡도: 단일 서버의 한계를 넘어 스케일 아웃과 미들웨어를 붙일수록 처리량의 한계는 늘어나지만, 시스템 복잡도와 장애 반경이 폭발적으로 증가

  1. 트레이드오프 (최종 선택의 경계)
    인과관계 속에서 피할 수 없는 '교환 비율'이자 아키텍트의 의사결정 영역

공간과 복잡도를 지불하여 시간을 살 것인가? (예: 캐싱과 비동기 큐 도입 ➔ 속도 확보 vs 데이터 불일치 및 운영 복잡도 감수)

처리량을 포기하고 정합성을 지킬 것인가? (예: 엄격한 트랜잭션 락 ➔ 데이터 안전성 확보 vs 트래픽 병목 감수)

유연성을 버리고 단순성(Scale-up)을 택할 것인가? (예: 복잡한 MSA 대신 고성능 단일 서버 ➔ 구조적 깨끗함 확보 vs 물리적 확장 한계 감수)

이후 설계

시스템의 목적과 목표, 사용자 예상 시나리오, 실제 비용과 책임 및 감당 가능한 범위 등을 고려하여 자원 배분의 최적화 설계를 한다.

0개의 댓글