LabHub

마이크로서비스 아키텍처

클라우드 네이티브 아키텍처 · 중급 · 이론 7 · 퀴즈 7 · 실습 5

마이크로서비스는 기술 선택이 아니라 조직과 배포에 관한 선택입니다. 이 코스는 모놀리스를 쪼개는 방법을 가르치기 전에 언제 쪼개지 말아야 하는지부터 다룹니다. 그다음 쪼갠 대가로 새로 생기는 문제 — 네트워크 실패, 분산 트랜잭션, 연쇄 장애, 요청 경로 추적 불가 — 를 하나씩 손으로 만들어 보고 하나씩 막습니다. 끝나면 '서비스를 나눌지'가 아니라 '무엇을 지불하고 무엇을 얻는지'로 말할 수 있게 됩니다.

실습 시작하기

커리큘럼

모놀리스에서 MSA 로

언제 쪼개고 언제 쪼개지 말아야 하나.

서비스 경계와 도메인

경계는 코드가 아니라 데이터와 언어에서 나온다.

동기 통신(REST·gRPC)과 그 대가

타임아웃 없는 호출은 장애를 전파하는 배관이다.

비동기 통신과 이벤트

요청을 던지는 대신 사실을 알린다.

데이터 일관성(사가·아웃박스)

트랜잭션이 서비스 경계를 넘지 못할 때 무엇을 하는가.

회복탄력성(타임아웃·재시도·서킷브레이커)

실패를 막는 대신 실패를 가둔다.

분산 추적과 상관관계 ID

요청 하나의 전체 경로를 복원하는 유일한 방법.

참고 문서