마이크로서비스 아키텍처
마이크로서비스는 기술 선택이 아니라 조직과 배포에 관한 선택입니다. 이 코스는 모놀리스를 쪼개는 방법을 가르치기 전에 언제 쪼개지 말아야 하는지부터 다룹니다. 그다음 쪼갠 대가로 새로 생기는 문제 — 네트워크 실패, 분산 트랜잭션, 연쇄 장애, 요청 경로 추적 불가 — 를 하나씩 손으로 만들어 보고 하나씩 막습니다. 끝나면 '서비스를 나눌지'가 아니라 '무엇을 지불하고 무엇을 얻는지'로 말할 수 있게 됩니다.
중급 · 레슨 19 · 실습 5
커리큘럼
모놀리스에서 MSA 로
- 쪼개면 무엇이 좋아지고 무엇이 나빠지는가 reading
- 모놀리스를 두 서비스로 분리하기 lab
- 퀴즈: 언제 쪼개는가 quiz
서비스 경계와 도메인
- 경계를 어디에 긋는가 reading
- 퀴즈: 서비스 경계 quiz
동기 통신(REST·gRPC)과 그 대가
- 네트워크 호출은 함수 호출이 아니다 reading
- 서비스 간 REST 호출에 타임아웃과 재시도 넣기 lab
- 퀴즈: 동기 통신의 대가 quiz
비동기 통신과 이벤트
- 명령이 아니라 사실을 보낸다 reading
- 퀴즈: 비동기와 이벤트 quiz
데이터 일관성(사가·아웃박스)
- 이중 쓰기 문제와 그 해법 reading
- 아웃박스 패턴으로 이벤트 발행 보장하기 lab
- 퀴즈: 사가와 아웃박스 quiz
회복탄력성(타임아웃·재시도·서킷브레이커)
- 서킷 브레이커의 상태 기계 reading
- 서킷 브레이커 구현과 상태 전이 검증 lab
- 퀴즈: 회복탄력성 quiz
분산 추적과 상관관계 ID
- 메트릭으로는 답할 수 없는 질문 reading
- 상관관계 ID 전파 검증하기 lab
- 퀴즈: 분산 추적 quiz