마이크로서비스가 뭔가요?

아주 쉽게, 그림으로

하나로 뭉칠지, 여러 조각으로 쪼갤지의 문제입니다
쪼갠 만큼 이어붙이는 부담도 생깁니다
더 보기
🏢 모놀리식
모든 기능이 하나의 큰 프로그램에 뭉쳐 있습니다
vs 🧱 마이크로서비스
기능별로 쪼갠 작은 서비스들이 따로 움직입니다
하나로 뭉칠지, 여러 조각으로 쪼갤지의 문제입니다
서비스가 커질수록 큰 프로그램 하나로 모든 기능을 담으면(모놀리식) 한 부분의 문제가 전체를 멈추게 할 위험이 커집니다. 마이크로서비스는 이런 큰 프로그램을 결제, 로그인, 검색처럼 작은 기능 단위(서비스)로 쪼개서 각각 따로 만들고 따로 배포하는 구조입니다. 한 서비스가 죽어도 다른 서비스는 계속 움직일 수 있다는 장점이 있지만, 그만큼 서비스 사이의 통신을 관리하는 복잡함은 늘어난다는 트레이드오프가 있습니다.
🧩🔌
쪼갠 만큼 이어붙이는 부담도 생깁니다
서비스를 잘게 쪼갤수록 각 서비스는 단순해지지만, 그 서비스들을 서로 연결하고 조율하는 일은 새로운 과제가 됩니다. 그래서 마이크로서비스는 무조건 좋은 구조가 아니라, 팀 규모와 서비스 복잡도에 맞춰 선택하는 트레이드오프입니다.
한 줄로: 마이크로서비스는 큰 프로그램을 작은 기능 단위로 쪼개 따로 만들고 배포하는 구조입니다.

출처: 일반 통용 정의