📅날짜

2025/09/15

💡MSA vs 모놀리식

이번 수업시간에서 서비스 아키텍처 설계에 대해 학습했다.
MSA(Microservices Architecture)와 모놀리식(Monolithic Architecture) 각각의 장단점을 비교해서, 앞으로 진행할 우리 팀 프로젝트에 적합한 아키텍처를 구상해봤다.\

📖아키텍처 비교

모놀리식 (Monolithic Architecture)

장점

  • 소규모 프로젝트에서 합리적
  • 개발, 빌드, 배포, 테스트가 단순하고 빠름

단점

  • 일부 기능만 수정해도 전체 재배포 필요
  • 서비스가 커질수록 유지보수 어려움
  • 코드가 복잡해질수록 이해도 하락

MSA (Microservices Architecture)

장점

  • 단일 장애 지점을 방지할 수 있다.
  • 서비스별 독립적인 배포와 확장이 가능하다
  • 다양한 기술 스택을 선택할 수 있다
  • 서비스마다 트래픽에 맞춰 스케일링 가능

단점

  • 운영 및 관리 비용이 크다
  • 분산 트랜잭션 처리 난이도가 높다
  • 전문적인 운영 지식과 인프라 구성이 필요하다

💻우리팀에 적합한 구조는?

MSA 구조가 적합하다. 왜?

  • 우리가 기획한 프로젝트에서는 대용량 사용자 데이터(대용량 로그, 트래킹 데이터)를 다룰 때 서비스 단위로 확장, 최적화가 가능하기 때문!!

📌MSA 설계 시 핵심 구성 요소

로드밸런서 : 여러 서버 인스턴스에 트래픽을 분산해 과부하를 방지
서비스 레지스트리 : 각 서비스의 위치(IP, Port)를 등록하고 조회
API Gateway : 모든 외부 요청을 단일 진입점으로 받아 서비스로 전달

클라이언트 → API Gateway → 로드밸런서 → 서비스 (일반적)
클라이언트 → 로드밸런서 → API Gateway → 서비스 (대규모 서비스, 예: 넷플릭스)

🎓후기

사실 MSA, 모놀리식은 정답이 있는것은 아니다. 프로젝트의 확장성 고려하지않고 단순히 이번 발표까지만으로 봤을대는 모놀리식이 더 효율적일 수 도있다.
하지만 우리팀은 확장성, 유지보수를 고려했고, 대용량 데이터를 효율적으로 다루기 위해 MSA를 선택했다.

profile
takeitEasy

0개의 댓글