MSA란 ?
MicroService Architecture의 줄임말로써 , 작고, 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크.
마이크로 서비스 아키텍처의 장단점
● 장점
마이크로 서비스는 분산형 개발을 통해 개발 시간을 단축하고 높은 확장성을 지니고 있는 것이 장점
또한 새로 추가되거나 수정할 사항이 생겼을 때 전체 애플리케이션에 대한 영향에 대한 우려가 줄고 빠르게 빌드,배포할 수있음
다양한 언어와 프레임워크로 구현할 수 있음
● 단점
여러 작은 서비스들이 분산되어 있기 때문에 관리 포인트가 늘어나고, 이들을 통합해서 모니터링하고 운영하는 것이 기존의 모놀로식 아키텍처에 비해 어려움
한 서버 안에서 통합 비즈니스 로직에 따라 서비스가 구현되는 모놀로식 아키텍처와 달리, 마이크로 서비스 아키텍처는 각 서비스를 담고 있는 서버 간 통신을 모두 제어해야 합니다.
마이크로 서비스 의 대표적인 사례
우아한 형제들(배민), 넷플릭스, 쿠팡, 우버
작은 단위의 모듈로 잘게 쪼개, API를 통해 연결
스케일 아웃과 스케일업 이란?
스케일아웃과 스케일업은 서버확장을 위한 방법
스케일 아웃
서버를 여러 대 추가하여 시스템을 확장하는 방법
예를들어 '1'의 처리 능력을 가진 서버에 동일한 서버 4대를 더 추가하여 '5'의 처리 능력을 만드는 것
서버가 여러 대가 되기 때문에 각 서버에 걸리는 부하를 균등하게 해주는 '로드 밸런싱'이 필수적으로 동반되어야함.
서버 한 대가 장애로 다운되더라도 다른 서버로 서비스 제공이 가능하다는 장법
스케일 업
서버에 CPU나 RAM등을 추가하거나 고성능의 부품, 서버로 교환하는 방법을 의미
예를들어 '1'의 처리 능력을 가진 서버 한대를 '5'의 처리능력을 가진 서버로 업그레이드 시키는 것
스케일 업의 경우, 서버 한 대에 모든 부하가 집중되므로 장애 시 영향을 크게 받을 수 있는 위험성이 있음.\
두 방법 다 장단점이 존재하고 있어서 어느 것이 더 좋다고 판단할 수 없음. 하지만 서비스에 따라 효과적인 부분이 있음
예를 들면, 웹 사이트의 접속자가 증가해서 트래픽이 많이 발생하는 경우에는 스케일 아웃이 더 효과적이며 데이터 베이스의 빈번한 갱신이 필요한 경우에는 스케일 업이 더 효과적
'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 |