Micro
작은
Service
서비스
Architecture
설계방식
말그대로 아주 작은 서비스를 말한다.
큰 몸뚱이 하나를 잘게 쪼개는 것이다.
단순하게 잘게 쪼개기만 하는것은 아니다.
각각 쪼개진 것들이 혼자서도 잘 돌아 가야한다.
모놀리틱(Monolithic) 아키텍처라고 하는게 기존 큰 몸뚱이 구조라고 할 수 있다.
이 구조에서는 보통 기능들이 서로서로 얽혀있어 결합력이 뛰어나기 때문에
로직,코드 등 무엇인가가 바뀐다면? 그에 영향을 받는것이 많아지게 된다.
당연히 몸뚱이가 크면 클수록 복잡성이 더 커질 것이고,
이 말은 작은 기능하나 추가하는 것도 어려운 상황이 될 수도 있다는 것이다.
잘 만들어진 마이크로 서비스 아키텍처에서는 어떨까?
앞에서 말한것처럼 각 쪼개진 서비스들은 혼자서 잘 돌아 간다는 것이 중요하다.
애초부터 다른 서비스 상관없이 잘 돌아가는 구조로 만들어져 있다면
어떤 기능이 추가되더라도 그 대상 서비스만 영향을 미치게 될 것이다.
먹는걸로 예를 들어볼까
----- 모놀리틱 아키텍처 식당 -----
코스가 나오는 식당이라고 해보겠다.
코스는
에피타이저
메인
디저트
음료
4개의 구성으로 되어있다.
하나의 코스안에 각 메뉴의 맛이 서로 얽혀 있는 구조.
코스의 모든 메뉴는 다 따로 노는 것이 아니다 쉐프가 원하는 맛의 흐름이 있다.
(헛소리 죄송합니다. 예를 들다보니..)
----- 마이크로 서비스 아키텍처 식당 -----
에피타이저 가게
메인메뉴 가게
디저트 가게
음료 가게
각각의 가게가 따로 잘 돌아간다.
'하는일 > MSA' 카테고리의 다른 글
[Kubernetes 관리] 정상 상태 점검 - liveness, readiness 란 (0) | 2020.12.02 |
---|---|
[kubernetes 관리] 배포 전략 ( 롤링, 블루-그린, 카나리아 ) (0) | 2020.11.18 |
[Kubernetes 관리] taint, toleration 문제 (disk-pressure) (0) | 2020.11.09 |
MSA 초보자 (0) | 2020.11.05 |