본문 바로가기
  • Adillete
인생 첫 cs 공부

[마이크로서비스를 올바르게 도입하기 위한 스프링 부트 사용법!스프링 부트로 개발하는 MSA 컴포넌트] p.22~119

by 아딜렛 2025. 4. 6.

[마이크로서비스를 올바르게 도입하기 위한 스프링 부트 사용법!스프링 부트로 개발하는 MSA 컴포넌트, 김병부, 길벗,p.22~119 ]

 

 

마이크로서비스 아키텍처?

뜻: 기능 위주로 나뉜 애플리케이션 + 독립된 데이터

 

기능으로 분리된 애플리케이션은 유기적으로 움직인다.

 

 

 

1.잘 분리된 마이크로 서비스로 인한 탈 중앙화

 

2.대규모 시스템을 위한 아키텍처

 

3.가벼운 네트워크 프로토콜

 

4.느슨한 결합

 

5.서비스 지향 아키텍처

 

마이크로 아키텍처 장점

 

장점:

 

1.독립성: 하나의 마이크로 서비스= 하나의 비즈니스 기능이므로 다른 마이크로 서비스와의 간섭이 적다.

각기 다른 데이터 저장소를 가지고 있어 데이터 간섭에도 자유롭다.

 

2.대용량 데이터를 저장하고 처리하는데 자유롭다.

 

3.시스템 장애에 견고하다. 마이크로서비스는 서로 느슨하게 결합되어 각각 독립되어 있어서

 

서로 간에 미치는 영향이 느슨하다.

 

-추가 설명: 마이크로 서비스와 클라우드 서비스 기능이 결합되면 애플리케이션은 탄력 회복성을 갖는다

 

. (탄력 회복성: 애플리케이션 서버에 장애가 발생하면 새로운 컴퓨팅 자원을 추가해서 빠른 시간안에

 

서비스를 다시 제공하는 것

 

5.서비스 배포 주기가 빠르다.

 

CI/CD 시스템을 추가적으로 구축해서 빠른 배포가 가능하다.

 

6.마이크로 서비스 단위로 확장할 수 있어서 서비스 전체적으로 확장성이 좋아진다.

 

사용자 반응에 민감한 대응이 가능하다.

 

마이크로 아키텍처 단점

 

단점:

1.개발하기 어려운 아키텍처이다.

 

분리된 데이터, 네트워크를 통한 데이터 총합을 고려해야한다.

 

①-RDB의 최대 장점인 DB 트랜잭션을 사용할 수 없다. 분산 트랜잭션은 비추천

 

②-지연 시간은 항상 일정하지 않고 상황에 따라 변한다.

 

③-폴백(네트워크가 비정상, 다른 마이크로서비스가 운영이 어려울 때 등의 상황을 미리 대비하는 기능)

 

2.운영하기 어려운 아키텍처다.

 

3.설계하기 어려운 아키텍처다.

 

4.마이크로 서비스 아키텍처로 설계된 서비스 운영에는 자동화 시스템이 필요하다. CI/CD도 필요하다.