단일 서버에서 이벤트·사가·대사·복구까지
SeniorLab 예약 서비스로 불변식, 멱등성, outbox, saga와 부분 실패 복구를 검증한다.
상태: 출간 후보 웹교정쇄 · 자동 QA 통과 · 분산시스템 아키텍트 현장 감수 대기 · 34개 장
시니어의 시스템 설계는 서비스를 많이 쪼개는 기술이 아니다. 사용자 약속을 불변식으로 만들고, 네트워크 지연·중복·순서 뒤바뀜·부분 실패 속에서도 그 약속을 지키거나 복구 가능하게 만드는 일이다. 이 책은 현장 방문 예약 서비스 FieldPass를 하나의 모듈러 모놀리스로 시작해 필요한 경계만 분리한다. 모든 이름과 데이터는 합성 fixture다.
목차
- 1장. 요구사항을 품질 속성으로 번역한다
- 2장. 도메인 불변식이 서비스 경계를 결정한다
- 3장. C4보다 먼저 한 장 컨텍스트를 그린다
- 4장. 동기 호출의 예산을 나눈다
- 5장. 멱등성은 키 저장이 아니라 결과 계약이다
- 6장. 동시성 경쟁을 데이터베이스에서 재현한다
- 7장. 캐시는 정본이 아니라 오래될 수 있는 복사본이다
- 8장. Outbox로 DB 변경과 이벤트를 잇는다
- 9장. 이벤트 계약은 과거 소비자를 포함한다
- 10장. 순서는 전역이 아니라 필요한 범위에서만 산다
- 11장. Saga는 긴 트랜잭션의 상태 머신이다
- 12장. 읽기 모델과 사용자 중간 상태를 설계한다
- 13장. Queue는 무한 버퍼가 아니다
- 14장. 실패를 정상 상태로 모델링한다
- 15장. 대사는 분산시스템의 마지막 방어선이다
- 16장. Multi-region은 복제 버튼이 아니다
- 17장. 시스템 설계 리뷰를 증거 회의로 바꾼다
- 18장. 분산 장애 게임데이
- 19장. 8주 시스템 설계 캡스톤
- 20장. 시니어 게이트와 출간 검수
- 21장. 요구사항 인터뷰 워크숍
- 22장. API 계약 리뷰 실전
- 23장. 데이터 소유권과 삭제 흐름
- 24장. Event 폭풍을 추적하는 방법
- 25장. 설계 면접 12문제
- 26장. Architecture Decision Record 실습
- 27장. Production Readiness Review
- 28장. 운영 인계와 최종 독자 과제
- 29장. 일관성 선택표를 작성한다
- 30장. 규모 추정 실습
- 31장. 실패 예산과 Retry budget
- 32장. 90분 최종 설계 시험
- 33장. 최종 체크카드
- 33장. 실제 FieldPass 플랫폼으로 다시 검증한다