Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

랩터

[MSA] 마이크로서비스 아키텍처란 본문

공부

[MSA] 마이크로서비스 아키텍처란

raptorhs 2024. 9. 30. 14:42

마이크로서비스 아키텍처는 작고 독립적인 서비스들의 집합으로 구성된 애플리케이션 구조이다.

 

모놀리식 아키텍처 (Monolithic Architecture)

모놀리식 아키텍처는 전통적인 개발 방식으로 하나의 프로젝트에 모든 기능을 함께 포함한다. 이렇게 하면 코드 베이스가 커질수록 개발 및 배포에 복잡성이 증가한다.

 

 

마이크로서비스 아키텍처 (Microservice Architecture)

MSA는 여러 개의 작은 서비스로 구성되어 각 서비스가 독립적으로 개발되고 배포되는 구조이다.
MSA로 구성되어 있는 애플리케이션의 경우 전체 시트템이 분산되어 있어 개발, 배포가 독립적으로 가능하며 확장성유지관리가 용이해진다.

 

 

모놀리틱 아키텍처와 마이크로서비스 아키텍처의 장단점을 비교해보겠다.

 

 

모놀리식 아키텍처의 장점
- 초기 개발에 유리하며 빠르게 프로토타입을 개발할 수 있다.
- 필요한 모든 기능을 한 번만 호출하기 때문에 복잡한 통신 없이 직접 사용할 수 있다.

모놀리식 아키텍처의 단점
- 코드 베이스가 커질수록 복잡해지고 유지관리 및 확장이 어려워진다.
- 일부 기능을 수정하거나 업데이트를 하려면 전체 애플리케이션을 재배포해야한다. 

 

 

 

MSA의 장점

  • 서비스 간 독립성으로 인해 확장성과 유연성이 높아진다.
  • 기능 고립성이라는 특징 때문에 일부 서비스가 실패하더라도 전체 시스템에 큰 영향을 미치지 않는다

MSA의 단점

  • 성능 - 서비스 간 호출 시 API를 사용하기 때문에, 통신 비용이나, Latency가 그만큼 늘어나게 됩니다.
  • 테스트 / 트랜잭션 - 서비스가 분리되어 있기 때문에 테스트와 트랜잭션의 복잡도가 증가하고, 많은 자원을 필요로 합니다.
  • 데이터 관리 - 데이터가 여러 서비스에 걸쳐 분산되기 때문에 한번에 조회하기 어렵고, 데이터의 정합성 또한 관리하기 어렵습니다.

 

'공부' 카테고리의 다른 글

0528 리액트  (0) 2024.05.28