Day 76 · 1/5
🌳 고급 고급

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

쉽게 이해하기

마이크로서비스는 대형 백화점을 여러 개의 독립된 전문 매장으로 나누는 것과 같아요. 옷 가게, 식당, 서점이 각각 독립적으로 운영되지만 함께 모여 하나의 쇼핑 경험을 만들죠. 한 매장에 문제가 생겨도 다른 매장은 정상 영업할 수 있어요.

핵심 정리

큰 애플리케이션을 작은 서비스들로 나눠서 독립적으로 개발하고 배포하는 아키텍처예요.

자세히 알아보기

마이크로서비스는 하나의 큰 애플리케이션을 여러 개의 작은 서비스로 나누는 아키텍처 패턴이에요. 각 서비스는 특정 기능만 담당하고, 독립적으로 개발·배포·확장할 수 있어요. 예를 들어 쇼핑몰 애플리케이션을 만든다면, 사용자 인증 서비스, 상품 관리 서비스, 주문 처리 서비스, 결제 서비스 등으로 나눌 수 있어요. 각 서비스는 자체 데이터베이스를 가지고, API를 통해 서로 통신해요. 마이크로서비스의 가장 큰 장점은 독립성이에요. 결제 서비스를 업데이트할 때 다른 서비스는 영향받지 않아요. 특정 서비스에만 트래픽이 몰리면 그 서비스만 확장할 수 있어요. 다른 팀이 다른 기술 스택을 사용할 수도 있죠. 하지만 단점도 있어요. 서비스 간 통신이 복잡해지고, 데이터 일관성을 유지하기 어려워요. 배포와 모니터링도 더 복잡해지죠. 그래서 작은 프로젝트에서는 오히려 과한 선택일 수 있어요. 넷플릭스, 우버, 아마존 같은 대형 서비스들이 마이크로서비스를 사용해요. 서비스가 크고 팀이 많아질수록 마이크로서비스의 장점이 빛을 발해요.