본문 바로가기
BackEnd

마이크로서비스 아키텍쳐 ( MSA )

by 앙헬디마리아 2021. 4. 12.
728x90

 

MSA란 ?

MicroService Architecture의 줄임말로써 , 작고, 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크.

 

 

 

마이크로 서비스 아키텍처의 장단점


장점

마이크로 서비스는 분산형 개발을 통해 개발 시간을 단축하고 높은 확장성을 지니고 있는 것이 장점
또한 새로 추가되거나 수정할 사항이 생겼을 때 전체 애플리케이션에 대한 영향에 대한 우려가 줄고 빠르게 빌드,배포할 수있음
다양한 언어와 프레임워크로 구현할 수 있음

단점

여러 작은 서비스들이 분산되어 있기 때문에 관리 포인트가 늘어나고, 이들을 통합해서 모니터링하고 운영하는 것이 기존의 모놀로식 아키텍처에 비해 어려움
한 서버 안에서 통합 비즈니스 로직에 따라 서비스가 구현되는 모놀로식 아키텍처와 달리, 마이크로 서비스 아키텍처는 각 서비스를 담고 있는 서버 간 통신을 모두 제어해야 합니다.


마이크로 서비스 의 대표적인 사례

우아한 형제들(배민), 넷플릭스, 쿠팡, 우버

작은 단위의 모듈로 잘게 쪼개, API를 통해 연결


스케일 아웃과 스케일업 이란?
스케일아웃과 스케일업은 서버확장을 위한 방법

 


스케일 아웃

서버를 여러 대 추가하여 시스템을 확장하는 방법

예를들어 '1'의 처리 능력을 가진 서버에 동일한 서버 4대를 더 추가하여 '5'의 처리 능력을 만드는 것
서버가 여러 대가 되기 때문에 각 서버에 걸리는 부하를 균등하게 해주는 '로드 밸런싱'이 필수적으로 동반되어야함.
서버 한 대가 장애로 다운되더라도 다른 서버로 서비스 제공이 가능하다는 장법

 


스케일 업

서버에 CPU나 RAM등을 추가하거나 고성능의 부품, 서버로 교환하는 방법을 의미

예를들어 '1'의 처리 능력을 가진 서버 한대를 '5'의 처리능력을 가진 서버로 업그레이드 시키는 것
스케일 업의 경우, 서버 한 대에 모든 부하가 집중되므로 장애 시 영향을 크게 받을 수 있는 위험성이 있음.\


두 방법 다 장단점이 존재하고 있어서 어느 것이 더 좋다고 판단할 수 없음. 하지만 서비스에 따라 효과적인 부분이 있음
예를 들면, 웹 사이트의 접속자가 증가해서 트래픽이 많이 발생하는 경우에는 스케일 아웃이 더 효과적이며 데이터 베이스의 빈번한 갱신이 필요한 경우에는 스케일 업이 더 효과적

728x90

'BackEnd' 카테고리의 다른 글

Kakfa란 ? (개념, 동작원리)  (0) 2021.05.17
JPA(Java Persistence API), Hibernate 란?  (0) 2021.04.25
Connection Poll (커넥션풀)  (0) 2021.04.24
메세지 큐  (0) 2021.04.14
메시징 시스템(Messaging System)  (0) 2021.04.13