기출 MSA

agnusdei·2025년 6월 4일

Software Engineering

목록 보기
5/59
  • 개념
  • 목적 및 역할
  • 구성요소별 설명
  • 기술 매핑
  • 특징 및 장단점
  • 어린이 버전 요약

📌 MSA 구성 요소 (기술사 스타일 답안)

1. 개념

MSA(Microservice Architecture)는 하나의 거대한 모놀리식 시스템을 작고 독립적인 서비스 단위로 나누어 개발, 배포, 운영하는 소프트웨어 아키텍처 스타일입니다.


📚 구성 요소별 상세 설명

구성요소역할 및 설명사용 기술 예시
Load Balancer (로드밸런서)서비스 간 트래픽을 균등하게 분산해 시스템 과부하 방지Nginx, HAProxy, Envoy, Istio
Service Routing (라우팅)요청을 적절한 마이크로서비스로 연결
- 정적 라우팅: 수동 설정
- 동적 라우팅: 레지스트리 기반 자동 설정
Spring Cloud Gateway, Istio, Linkerd
Service Registry & Discovery서비스 위치를 자동 등록/탐색하여 동적으로 연결Consul, Eureka, Zookeeper
Circuit Breaker실패율이 임계치를 넘을 경우 자동 차단하여 시스템 보호Resilience4j, Hystrix
Service Management서비스 설정, 집계 및 관리 도구Spring Admin, Kiali, Grafana
Common Service (공통 서비스)인증, 로깅, 암호화 등 반복 기능의 공통화OAuth2, ELK Stack, Redis, Kafka
Business Service (비즈니스 서비스)실제 업무 로직을 담당하는 서비스주문/결제/상품 서비스 등
Caching (캐싱)자주 사용되는 데이터를 임시 저장해 성능 향상Redis, Memcached
Storage (저장소)- RDB: 관계형 DB
- NoSQL: 비정형 데이터 저장
- Block/Object Storage: 대용량 파일
MySQL, MongoDB, S3, Ceph
CQRS (Command Query Responsibility Segregation)쓰기/읽기 로직을 분리하여 성능 및 확장성 강화Event Sourcing + Kafka
CI/CD (DevOps)코드 작성부터 배포까지 자동화
- Profile 관리, Image 생성, 통합 배포 자동화
Jenkins, GitHub Actions, ArgoCD
Monitoring- Central Monitoring: 메트릭 수집
- E2E Monitoring: 서비스간 흐름 추적
Prometheus, Grafana, Jaeger
Logging로깅 데이터를 중앙에서 수집 및 분석ELK Stack, Loki
Self-Healing장애 발생 시 자동 복구를 시도하는 기술Kubernetes liveness/readiness probes, Retry policy
Infrastructure (인프라)서비스가 실행되는 기반 환경
- Bare Metal
- VM
- PaaS
KVM, Docker, K8s, OpenShift

📊 특징 및 장단점

✅ 장점

  • 서비스 독립성 → 빠른 개발과 배포
  • 장애 격리 용이
  • 기술 스택 다양성 허용

❌ 단점

  • 운영 복잡성 증가 (CI/CD, 모니터링 등 필수)
  • 분산 시스템으로 인한 네트워크 지연/오류 고려 필요
  • 통합 테스트 어려움

🧒 어린이 버전 요약

마이크로서비스는 레고 블록처럼 각각 다른 역할을 가진 조각들이고,
이 조각들이 잘 협력하려면 주소 찾기(Discovery), 길 안내(Routing), **트래픽 정리(Load Balancing)**가 필요해요.
문제 생기면 자동으로 끊거나 고쳐주는 Circuit Breaker도 있고요.
그림을 모니터하고, 로그를 수집하고, 데이터는 냉장고처럼 Redis에 잠깐 넣어놓을 수도 있어요.


🧭 정리

핵심 요소핵심 기술정리 키워드
통신 관리Gateway, Discovery, Routing연결, 탐색, 분산
상태 관리Circuit Breaker, Retry신뢰성
공통 기능Auth, Logging, Caching재사용
데이터 계층RDB, NoSQL, Object Storage저장소 다양성
운영 인프라CI/CD, Monitoring, Logging자동화, 가시성
복원력Self-Healing, Redundancy장애 대응

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글