데브코스

🖥️ 통합 웹 서비스 구축

hxx_1 2025. 1. 7. 17:55

핵심 설계 원칙

  1. 모듈화
  2. 캡슐화
  3. 재사용성
  4. 확장성
  5. 응집도와 결합도
  6. 단순성

 

소프트웨어 아키텍처

 

MVC 패턴

: Model, View, Controller 로 구분해서 개발하는 방법

 

모놀리식 아키텍처

: 애플리케이션의 모든 구성요소가 하나의 큰 단위로 개발되고 배포되는 구성 방식 

: 모든 기능이 같은 기술 스택으로 개발됨

 

장점

  • 간단한 개발 및 배포
  • 손 쉬운 디버깅
  • 용이한 테스트

 

단점

  • 개발 속도 저하
  • 배포의 어려움
  • 확장성 제한
  • 신뢰성
  • 기술 채택의 장벽

 

마이크로서비스 아키텍처

 

: 애플리케이션을 작고 독립적인 서비스의 집합으로 구성하는 접근 방식

: 각각 독립적으로 배포 운영될 수 있음 

 

장점

  • 높은 안정성
  • 유연한 확장
  • 배포 용이성
  • 기술적 용이성

 

단점

  • 복잡성 증가
  • 네트워크 오버헤드
  • 디버깅과 모니터링의 어려움
  • 배포 복잡성