REST·트랜잭션·OAuth·컨테이너·EKS·관측 완주
CrewLink로 도메인 설계부터 API, 보안, PostgreSQL, 컨테이너와 EKS 운영을 연결한다.
상태: 출간 후보 웹교정쇄 · Maven 테스트·자동 QA 통과 · 실배포 감수 대기 · 47개 장

확인일 2026-08-14, Spring Boot 4.1.0과 Java 21을 쓴다. Java 최소 요구는 공식 문서상 17 이상이지만 예제는 운영 LTS 선택으로 21을 고정한다. CrewLink는 제조·시설 현장의 교대 인수인계 서비스다. 위험 항목 확인, 감사 기록, OAuth2, PostgreSQL, EKS, 도메인과 관측까지 만든다.
목차
- 1장. Boot가 대신하는 것과 남겨 두는 것
- 2장. Java·Maven·프로젝트 시작
- 3장. HTTP 요청의 생애
- 4장. CrewLink 도메인
- 5장. REST API 계약
- 6장. Validation과 예외 처리
- 7장. PostgreSQL과 migration
- 8장. 트랜잭션과 멱등성
- 9장. 조회 성능과 N+1
- 10장. OAuth2/OIDC Resource Server
- 11장. 외부 API와 회복성
- 12장. 테스트 전략
- 13장. CrewLink 동일 화면
- 14장. Configuration과 secret
- 15장. Actuator와 관측
- 16장. 성능과 graceful shutdown
- 17장. Container image
- 18장. EKS 기초 배치
- 19장. 도메인·TLS·CDN
- 20장. CI/CD와 OIDC
- 21장. Rolling·Canary·Rollback
- 22장. 운영 runbook
- 23장. 로컬에서 런칭까지 10일
- 24장. 저작권과 출간 검수
- 25장. 깨끗한 환경에서 첫 실행을 증명한다
- 26장. 상태 전이를 도메인 안에 둔다
- 27장. JDBC로 숨김 없는 저장 계층을 만든다
- 28장. 트랜잭션 경계와 프록시 함정을 확인한다
- 29장. 멱등성 키를 서버 자산으로 관리한다
- 30장. Outbox로 외부 알림 유실을 막는다
- 31장. API 오류를 Problem Details로 통일한다
- 32장. JWT 검증과 업무 인가를 분리한다
- 33장. 외부 API client에 시간 예산을 준다
- 34장. Testcontainers로 production 차이를 줄인다
- 35장. Migration을 expand-contract로 운영한다
- 36장. Actuator를 인터넷에서 숨기고 운영에 연다
- 37장. 부하 시험에서 병목을 한 번에 하나씩 바꾼다
- 38장. Kubernetes manifest를 운영 계약으로 읽는다
- 39장. CI/CD가 동일 artifact를 승격하게 한다
- 40장. 인증서 교체를 변경 작업으로 수행한다
- 41장. 장애 훈련 — DB pool이 고갈됐다
- 42장. 장애 훈련 — JWKS 회전 뒤 로그인만 실패한다
- 43장. 장애 훈련 — 배포는 성공했지만 HIGH 확인이 사라졌다
- 44장. 최종 실기와 출간 판정
- 45장. 로그를 증거로 남기되 개인정보는 남기지 않는다
- 46장. Backup보다 Restore를 시험한다
- 47장. Release Day 현장 절차