직접 경험 기반
마이크로서비스 기반 프로젝트에서 사용자, 주문, 알림 세 서비스를 분리하고 REST API로 연결했습니다. 서비스 간 통신이 늘어나면서 장애 전파 문제가 생겼고, Circuit Breaker 패턴을 도입해 한 서비스 장애가 전체로 퍼지는 걸 막았습니다. 서비스 경계를 처음 설계할 때 도메인 중심으로 경계를 그어야 한다는 원칙이 실제 구현에서 얼마나 중요한지 체감했습니다. API 버전 관리와 서비스 디스커버리 설정도 처음 다루면서 운영 복잡도가 모놀리식보다 높다는 걸 직접 경험했습니다. 이 프로젝트에서 마이크로서비스는 구조가 아니라 운영 전략이라는 걸 배웠습니다.
마이크로서비스는 도구가 아니라 운영 전략이며, 도메인 경계와 장애 격리 설계가 먼저 돼야 한다는 걸 이 프로젝트에서 배웠습니다.