정보처리기사 기출 핵심 [45] 소프트웨어 아키텍처 패턴 심화 완전 정복

소프트웨어 아키텍처 패턴 개요

아키텍처 패턴은 소프트웨어 시스템의 전반적인 구조를 정의하는 상위 수준의 설계 전략입니다. 정보처리기사 시험에서는 레이어드, 이벤트 드리븐, 파이프-필터, 공간 기반 아키텍처와 MSA 패턴이 핵심 출제 범위입니다.

레이어드 아키텍처(Layered Architecture)

가장 널리 사용되는 패턴으로 기능을 수평적 계층으로 분리합니다.

  • 4계층: Presentation(UI) → Business Logic → Persistence(데이터 접근) → Database
  • 개방 레이어(Open Layer): 계층을 건너뛸 수 있음
  • 폐쇄 레이어(Closed Layer): 반드시 인접 계층을 통해야 함
  • 장점: 분리성, 이해 용이. 단점: 성능 저하(Sinkhole 안티패턴), 모놀리식 배포

이벤트 드리븐 아키텍처(EDA)

  • 이벤트 생산자(Producer): 이벤트 발행. 소비자를 알지 못함
  • 이벤트 브로커: Kafka, RabbitMQ. 이벤트 라우팅·저장
  • 이벤트 소비자(Consumer): 관심 있는 이벤트 구독·처리
  • 토폴로지: 중재자(Mediator) 토폴로지 vs 브로커 토폴로지

파이프-필터 패턴(Pipe-and-Filter)

  • 필터(Filter): 데이터를 변환하는 독립적 처리 단위
  • 파이프(Pipe): 필터 간 데이터 전달 통로
  • 적용 예: Unix 파이프라인(cat | grep | sort | uniq), ETL 파이프라인, 컴파일러
  • 장점: 재사용성, 병렬 처리 용이. 단점: 상태 공유 어려움

공간 기반 아키텍처(Space-Based Architecture)

데이터베이스 병목을 제거하기 위해 인메모리 데이터 그리드를 공유 공간으로 사용합니다.

  • 처리 유닛(Processing Unit): 독립적으로 확장 가능한 처리 노드. 인메모리 데이터 포함
  • 가상화 미들웨어: 요청 분산, 데이터 복제, 세션 관리
  • 적용 예: 경매 사이트, 온라인 게임 등 급격한 트래픽 변동 환경

MSA 관련 아키텍처 패턴

  • Strangler Fig Pattern: 모놀리스를 점진적으로 마이크로서비스로 전환. 새 기능은 MSA로, 기존 기능은 점진적 이전
  • Anti-Corruption Layer(ACL): 레거시 시스템과 새 시스템 사이의 번역 레이어
  • Backend for Frontend(BFF): 클라이언트 유형별 맞춤 백엔드 API

정보처리기사 기출 핵심 정리

  • 레이어드 = Presentation→Business→Persistence→DB, 4계층
  • EDA = 이벤트 중심, 느슨한 결합, Kafka/RabbitMQ
  • 파이프-필터 = 독립 변환 단계 체인, Unix 파이프라인
  • Strangler Fig = 모놀리스 → MSA 점진적 전환 패턴
  • 공간 기반 = 인메모리 그리드, DB 병목 제거

Leave a Comment