이 단계에서 얻는 것
이 단계는 “프레임워크를 잘 쓰는 것”을 넘어, 시스템 전체를 설계하고 변화시키는 능력을 키우는 구간입니다.
- 요구사항을 기능 목록이 아니라 도메인/경계/책임으로 쪼개는 방법을 익힙니다.
- “지금 당장”의 구현과 “미래의 변화” 사이에서 트레이드오프를 근거 있게 선택하는 힘을 만듭니다.
- 모놀리스/모듈러/서비스 분리, 컷오버/마이그레이션 같은 변경의 기술을 다룹니다.
이 모듈을 보는 방법
아래에 연결된 글이 자동으로 정렬됩니다. 순서대로 읽되, 각 글에서 “내 서비스라면 어디에 적용할지”를 짧게라도 메모해두면 흡수 속도가 크게 빨라집니다.
다루는 축(큰 흐름)
- 도메인 모델링/경계: 애그리게이트, 일관성 경계, 책임 분리
- 구조화/분리: 패키지/레이어/멀티모듈, 모놀리스 → 모듈러/서비스 전환
- 변경/마이그레이션: 트래픽 컷오버, 데이터 이전, 레거시 리팩터링
- 시스템 설계 연습: URL Shortener/파일 서빙/뉴스피드 같은 대표 문제를 “병목/트레이드오프” 중심으로 연습
- 고급 패턴: CQRS/Event Sourcing, 레이트 리밋/백프레셔, 실시간 통신, gRPC/GraphQL
- 현실적 문제: 멀티테넌시, 타임존/국제화 같은 “운영 중에 반드시 터지는” 주제
다음 단계
심화 단계에서 생기는 질문은 대부분 “상황 의존”입니다. 정답을 외우기보다, 자주 나오는 질문을 빠르게 꺼내보는 용도로 6단계: 복습(Q&A)를 함께 사용하세요.