핵심 요약
당근의 커뮤니티 시스템은 천만 MAU를 뒷받침하는 모놀리스에서 모듈형 모놀리스로 전환하고, 모듈 경계와 계약 기반 개발로 안정성과 확장성을 확보한 경험을 공유합니다.
주요 경험
- 천만 MAU를 처리하는 시스템을 모놀리스에서 모듈형 모놀리스로 재구성하고, 다섯 가지 특성에 맞춘 경계 관리와 내부 인터페이스 설계를 실천했습니다.
- Streaming SSR 도입으로 초기 렌더링 지연 문제를 해결하고, 현재 약 20,000 RPS의 트래픽도 안정적으로 처리하는 흐름을 구성했습니다.
- OpenAPI 기반 계약으로 API 명세와 구현을 연결하고 CI에서 하위 호환을 자동 검증했습니다.
얻은 인사이트
- 작은 팀이 대형 시스템을 운영하려면 경계와 책임의 분리, 모듈화가 운영 리스크를 낮춥니다.
- 데이터 경계와 트랜잭션 관리, 장애 격리 설계가 확장성과 유지보수의 핵심임을 확인했습니다.
- 공유 컴포넌트와 도메인 규칙의 분리는 신규 서비스의 시작 속도와 중복 제거에 기여합니다.
