MSA(MicroService Architecture) (1) - 개념

Sadie·2024년 6월 1일
0

Spring And JPA

목록 보기
7/12

MSA

MSA는 MicroService Architecture의 첫 글자를 딴 단어입니다

복잡한 애플리케이션을 작고 독립적인 서비스들로 나누어 개발하는 구조로
이때 각각의 비즈니스 로직과 데이터베이스를 가지며, API를 통해 서로 통신 합니다
에자일 방법과 대규모 프로젝트에 적합한 구조입니다



Monolithic Architecture


이미지 출처: https://jennifersoft.com/en/blog/tech/micro-service-vs-legacy-seen-in-the-case-of-netflix/

MSA와 흔히 비교되는게 전통적인 구조의 모놀리식 아키텍처입니다
소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어있는 형태입니다

개발, 빌드, 배포, 테스트가 용이하다는 장점이 있어
소규모 프로젝트에 적합하고 현재도 많이 사용되고 있는 방식입니다

하지만, 단점 또한 존재하는데요
프로젝트가 커질 수록 전체 시스템 구조 파악이 어렵고, 빌드/테스트/배포 시간이 늘어납니다
또한 부분적인 장애가 발생할 경우 전체 서비스의 장애로 이어집니다

이런 단점을 보안하고자 MSA가 등장하게 되었습니다


MSA 장점

  • 전체 시스템의 장애를 막을 수 있음
  • 효율적인 인프라 관리, 인프라 증설시 필요한 기능만 확장할 수 있다, 클라우드 자원 효율적으로 사용 가능
  • 독립적 배포, 빈번한 업데이트와 배포가 일어나는 서비스를 분리해 해당 기능만 배포 가능
  • 자유로운 기술 스택 사용

MSA 단점

  • 운영 복잡도 증가
  • 서비스간 통신과 데이터의 일관성 유지가 어려움
  • 서비스간 통신에 보안을 고려해야함
  • 어떤 버그나 이슈가 생겼을 때 무엇이 문제인지 찾기 어려움


참고

https://velog.io/@tedigom/MSA-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1-MSA%EC%9D%98-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-3sk28yrv0e
https://seungh1024.tistory.com/64
https://wooaoe.tistory.com/57
https://youtu.be/8d4h7K_Fq-0?si=6bCYgiDEPBGeUz74
https://youtu.be/dSGnJWHuxtQ?si=vU3o_tzBOQwlTyng

0개의 댓글