마이크로서비스 통신 패턴: Saga와 Circuit Breaker
단일 시스템을 여러 서비스로 분리하면, 가장 어려운 문제들은 더 이상 코드 안에 있지 않고 서비스 간의 연결 부분에 있습니다. 네트워크 호출은 실패하고, 트랜잭션은 여러 데이터베이스에 걸쳐 있으며, 느린 의존성 하나가 전체 장애로 확대될 수 있습니다. 이 트랙은 경험 많은 팀들이 가장 먼저 선택하는 두 가지 패턴을 다룹니다: 분산 트랜잭션을 위한 Saga 패턴과 장애 격리를 위한 Circuit Breaker입니다. 12개의 집중된 코스를 통해 서비스 간 통신의 기초부터 프로덕션 수준의 관찰성과 고급 saga 기법까지 배워봅니다.
학습 내용
마이크로서비스 통신과 탄력성의 기초부터 시작한 후, Saga 패턴의 choreography와 orchestration 두 가지 방식을 살펴봅니다 — 각 접근 방식이 언제 적합한지, 그리고 처음부터 어떻게 구현하는지를 이해하게 됩니다. 함께 Circuit Breaker의 작동 원리를 마스터하고 실제 코드에서 구현하며, 여러 탄력성 패턴을 일관된 전략으로 결합하는 방법을 배웁니다. 이후 코스에서는 분산 트랜잭션과 일관성 보장, 분산 시스템의 관찰성, 그리고 마지막으로 보상 로직, idempotency, 실제 환경에서의 부분 장애 처리를 포함한 고급 saga 기법을 다룹니다.
학습 경로
12개의 코스는 B1부터 C2까지 걸쳐 있습니다. 이 트랙은 B1부터 마이크로서비스 통신의 기초와 탄력성 패턴 입문으로 시작하고, B2에서 실습 중심의 Saga와 Circuit Breaker 코스로 난이도를 올립니다. C1 블록 — 6개의 코스 — 에서는 분산 트랜잭션, choreography saga, orchestration saga, 탄력성 패턴 결합, 그리고 관찰성을 다룹니다. 이 트랙은 C2의 고급 Saga 기법으로 마무리되며, 고부하 프로덕션 배포에서만 나타나는 엣지 케이스를 다룹니다.
작동 방식
각 코스는 내장 코드 편집기에서 실시간 피드백과 막힐 때 도움을 주는 AI 튜터와 함께 완료하는 짧고 실습 중심의 레슨으로 나뉩니다. 모든 단계에서 실제 서비스 상호작용 코드를 작성하고 실행하므로, 패턴들이 이론이 아닌 근육 기억으로 남습니다.