상세 컨텐츠

본문 제목

MSA 어떻게 써먹을수 있을가?

개발

by GoblinMode 2023. 12. 26. 16:19

본문

728x90
반응형

MSA(Micro Service Architecture) 정의

마이크로서비스(microservice)는 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처(SOA) 스타일의 일종인 소프트웨어 개발 기법이다.
마이크로서비스 아키텍처에서 서비스들은 섬세(fine-grained)하고 프로토콜은 가벼운 편이다.
애플리케이션을 더 조그마한 여러 서비스로 분해할 때의 장점은 모듈성을 개선하고 애플리케이션의 이해, 개발, 테스트를 더 쉽게 해주고 애플리케이션 침식에 더 탄력적으로 만들어 준다.
규모가 작은 자율적인 팀들이 팀별 서비스를 독립적으로 개발, 전개, 규모 확장을 할 수 있게 함으로써 병렬로 개발할 수 있게 한다.
또, 지속적인 리팩터링을 통해 개개의 서비스 아키텍처가 하나로 병합될 수 있게 허용한다.
마이크로서비스 기반 아키텍처는 지속적 배포와 전개(디플로이)를 가능케 한다.
출처 : 위키백과 ( https://ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4#cite_note-Micro_Chen-1 )

 

마이크로서비스 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 마이크로서비스(microservice)는 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처(SOA) 스타일의 일종인 소프트웨어 개발 기

ko.wikipedia.org

사전적인 내용은 대략 이런 내용이다. 

 

서비스를 업무단위로 쪼개어 서비스를 재공하는 컨셉에 서비스 이다.

 

MSA  장점은 보면 배포, 장애, 서비스 확장들에 있습니다. 

 

단점으로는 MSA 비용증가, 서비스운영미숙, 결합도 등이 있습니다.

 

첫 MSA 프로젝트를 진행하고 해당 단점이 명확하게 보였습니다.

 

서비스들에 결합도가 높을 경우 하나에 프로세스를 처리하는데 2~3개 서비스를 통신해야 하는 문제가 발생합니다.

 

서비스들을 관리해야하는 개발자들에 피로감이 높아집니다. 기존엔 해당 업무로 나뉘던 일들이 서비스 단위로 나뉘면 

 

커뮤니케이션 해야 하는 일들이 발생하게 됩니다. 

 

결합도가 높은 프로젝트는 한서비스가 장애가 발생하면 전체 서비스에 영향을 주게 됩니다.

 

첫 MSA 프로젝트이다 보니 장점을 키우지 못하고 단점만 키운 프로젝트가 되었습니다.

 

MSA 너란 녀석 어떻게 써야 잘 썻다고 소문이 날가요.

728x90
반응형

관련글 더보기