EROKE ORIGINAL WEBBOOK

실패를 전제로 설계하는 분산시스템

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

단일 서버에서 이벤트·사가·대사·복구까지

SeniorLab 예약 서비스로 불변식, 멱등성, outbox, saga와 부분 실패 복구를 검증한다.

상태: 출간 후보 웹교정쇄 · 자동 QA 통과 · 분산시스템 아키텍트 현장 감수 대기 · 34개 장

요청에서 업무 불변식까지 이어지는 시스템 구조
요청에서 업무 불변식까지 이어지는 시스템 구조

시니어의 시스템 설계는 서비스를 많이 쪼개는 기술이 아니다. 사용자 약속을 불변식으로 만들고, 네트워크 지연·중복·순서 뒤바뀜·부분 실패 속에서도 그 약속을 지키거나 복구 가능하게 만드는 일이다. 이 책은 현장 방문 예약 서비스 FieldPass를 하나의 모듈러 모놀리스로 시작해 필요한 경계만 분리한다. 모든 이름과 데이터는 합성 fixture다.

목차

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