IT Knowledge/Architecture/images/마이크로서비스-아키텍처-diagram.svg

🏘️ “큰 건물 하나보다, 작은 집 여러 개가 관리하기 쉬워요!”


마이크로서비스가 뭐예요?

쉬운 비유: 식당

방법 1: 한 명이 다 하는 식당

사장님 혼자서 주문받고, 요리하고, 서빙하고, 계산하고, 청소까지! → 사장님이 아프면? 식당 전체가 문 닫아요 😱

방법 2: 역할 나눈 식당

  • 👨‍🍳 주방팀: 요리만
  • 🧑‍💼 홀팀: 서빙만
  • 💰 계산팀: 계산만

→ 주방팀이 바빠도 다른 팀은 정상! ✨

마이크로서비스 = 방법 2처럼 역할을 나누는 것!


핵심 개념

용어비유
마이크로작은작은 가게
서비스하나의 기능한 가지 역할
마이크로서비스작은 기능 여러 개전문 가게들의 모음

카카오톡으로 이해하기

옛날 방식 (모놀리식)

메시지, 친구, 프로필, 알림, 결제가 한 덩어리로 묶여있음

문제점:

  • 메시지 고치면 → 전체 다시 배포해야 함
  • 결제 버그나면 → 메시지도 같이 멈출 수 있음

요즘 방식 (마이크로서비스)

서비스담당
메시지 서비스메시지만
친구 서비스친구만
결제 서비스결제만

장점:

  • 메시지만 고치면 → 메시지만 배포
  • 결제 버그나도 → 메시지는 정상!

어떻게 동작해요?

서비스들이 대화하는 방법

사용자가 “친구한테 메시지 보내기”를 누르면:

순서누가뭘 하는지
1메시지 서비스”친구 정보 좀 줘!“
2친구 서비스”여기 친구 정보야!“
3메시지 서비스”메시지 보냈어!“
4알림 서비스”친구한테 알림 보낼게!”

→ 각자 자기 일만 하고, 필요하면 서로 물어봐요!


장점

장점설명비유
🔧 고치기 쉬움한 서비스만 수정한 가게만 리모델링
📈 확장 쉬움바쁜 서비스만 늘림인기 가게만 직원 추가
👥 팀별 작업서로 안 부딪힘각자 가게 운영
💪 장애 격리하나 죽어도 나머지 OK한 가게 휴무해도 다른 가게 영업

단점

단점설명비유
🤯 복잡함서비스 50개면 50개 관리가게 50개 관리
🌐 네트워크 필요서비스끼리 통신 필요가게끼리 전화해야 함
🔍 디버깅 어려움어디서 문제인지 찾기 힘듦어느 가게 잘못인지

실제 사례

회사변화결과
넷플릭스모놀리식 → 마이크로서비스서비스 1000개+, 하루 수백 번 배포
아마존2002년 전환11.7초마다 배포 가능
카카오서비스별 분리카카오페이 점검해도 카카오톡 정상

언제 쓰면 좋아요?

마이크로서비스가 좋은 경우

  • ✅ 팀이 20명 이상
  • ✅ 서비스가 크고 복잡함
  • ✅ 자주 배포해야 함

그냥 하나로 해도 되는 경우

  • ❌ 팀이 5명 이하
  • ❌ 새로 시작하는 프로젝트
  • ❌ 간단한 서비스

핵심 정리

  1. 마이크로서비스 = 작은 서비스 여러 개로 나누기
  2. 장점 = 고치기 쉬움, 확장 쉬움, 장애 격리
  3. 단점 = 복잡함, 관리 포인트 많음
  4. 언제? = 큰 서비스 + 큰 팀

관련 문서