← 블로그 목록
백엔드

15개 모듈로 만든 마이크로서비스 플랫폼

2026-05-18 · Devrithm
#Spring Cloud#Eureka#GraphQL#Elasticsearch#Docker

mazara-cloud는 “서비스를 떠받치는 뼈대”를 직접 만들어보고 싶어서 시작한 프로젝트입니다. 15개 Spring Boot 모듈이 하나의 플랫폼으로 맞물려 돕니다.

구성

API Gateway(8080) 뒤로 모든 모듈이 Eureka(8761)에 등록되고, Gateway가 REST·GraphQL·SOAP· 검색·AI 브리지로 라우팅합니다. 인증은 JWT로 통일했고, 검색은 Elasticsearch + Kafka로 색인 파이프라인을 구성했습니다. 전체는 Docker Compose로 띄우고 ELK로 로그를 모읍니다.

디스커버리/설정Eureka · Config Server 진입점API Gateway · BFF 인증Auth (JWT) 데이터/조회GraphQL · SOAP 연동 검색Elasticsearch + Kafka 색인 확장LLM / Flutter 브리지

왜 굳이 MSA였나

사실 작은 서비스라면 모놀리식이 더 빠릅니다. 그럼에도 MSA로 만든 건 “각 조각을 독립적으로 이해하고 교체할 수 있는가”를 직접 겪어보기 위해서였습니다. 서비스 디스커버리, 게이트웨이 라우팅, 분산 로깅이 실제로 어떻게 맞물리는지는 만들어봐야 감이 왔습니다.

배운 것

  • 경계 설계가 8할 — 모듈을 어디서 자르느냐가 이후 복잡도를 결정했습니다.
  • 관측성은 처음부터 — 로그·추적을 나중에 붙이면 이미 늦습니다. ELK를 초반에 넣어두니 문제를 훨씬 빨리 찾았습니다.
  • 폴리글랏의 값 — 언어·프로토콜이 섞여도 게이트웨이가 경계를 잡아주니 각 모듈을 적합한 도구로 만들 수 있었습니다.

참고로 지금 이 사이트(app-ads.txt·랜딩·블로그)를 구동하는 작은 Flask 서버도 같은 “직접 만들어 이해한다”는 흐름에서 나온 결과물입니다.