MSA 실전 가이드 — 모놀리스에서 마이크로서비스로
실생활 비유: 백화점 vs 전문점 거리
실생활 비유: 백화점 vs 전문점 거리
실생활 비유: 해외 송금과 사라지는 돈
한 줄 요약: 시스템 디자인은 “지금 잘 돌아가는 시스템”이 아니라 “10배 커져도 무너지지 않는 시스템”을 설계하는 방법론이다.
Tomcat 스레드 200개가 모두 외부 API 응답을 기다리며 블로킹되어 있다. 새 요청은 큐에서 대기하다 타임아웃이 난다. 이 상황에서 서버를 늘리는 것보다 더 근본적인 해법이 WebFlux다.
1. 선언적 트랜잭션 (@Transactional)
마이크로서비스 환경에서 주문 하나가 실패했다. Order Service → Payment Service → Inventory Service → Notification Service를 거치는데, 어디서 얼마나 걸...
JWT 토큰이 없는 요청이 /api/admin에 들어왔는데 그냥 통과됐다. 필터 순서가 잘못됐거나 필터 자체가 누락된 것이다. Spring Security 아키텍처를 모르면 어디서 막혀야 하는지조차 알 수 없다.
마이크로서비스 환경에서 외부 서비스 호출은 실패할 수 있다. 한 서비스의 장애가 연쇄적으로 전파돼 전체 시스템이 다운되는 “연쇄 장애(Cascading Failure)”가 가장 위험하다. Resilience4j...
비유로 먼저 이해하기: Spring MVC는 레스토랑과 같다. 손님 요청을 접수 데스크(DispatcherServlet)가 받아서 담당 웨이터(HandlerMapping)를 찾고, 웨이터(Controlle...
새벽 2시에 운영 장애가 났다. 로그를 보니 에러와 정상 로그가 뒤섞여 어느 요청에서 터진 건지 찾을 수가 없다. MDC를 몰랐다면 이 상황에서 로그 전체를 시간순으로 읽어내려가야 한다.