29CM가 약 60개 도메인을 품은 거대한 Django 모놀리스의 배포·장애 한계를 마이크로서비스로 풀어간 성장 기록이다. 서비스를 나눠도 사라지지 않는 데이터 결합 문제를 트래픽 10배 성장 속 검색 과부하 사례로 드러낸다.
핵심 포인트- 빅뱅 재작성 대신 Strangler 패턴으로 새 기능부터 새 서비스에 만들고, 하위 기술 의존성보다 상품·커머스처럼 비즈니스 영향이 큰 도메인부터 분리
- 트래픽 약 10배·거래액 77% 성장 중 검색과 추천이 같은 Elasticsearch에 의존해, 서비스 경계를 나눠도 읽기 모델이 분리되지 않으면 한쪽 부하가 핵심 기능까지 전파됨을 확인
- 상품 변경 이벤트를 Kafka로 전달해 MongoDB 등에 비정규화한 materialized view로 읽기 성능과 장애 격리를 확보하되, 조회 필드 축소·정상 응답 캐시·용량 증설 같은 임시 완화책을 근본 해결로 착각하지 않음
- 스쿼드가 자기 서비스를 운영하고 문제·제약·대안·운영 계획을 설계 문서로 남겨 구현 전 리뷰하며, 이후 DB 분리·Team API·ADR로 신뢰성과 생산성에 계속 투자
왜 읽나모놀리스에서 마이크로서비스로 넘어가며 '서비스 분리로 끝나지 않는' 데이터 결합과 조직·운영 소유권을 함께 설계해야 하는 팀에게.