マイクロサービスアーキテクチャ
마이크로서비스는 기술 선택이 아니라 조직과 배포에 관한 선택입니다. 이 코스는 모놀리스를 쪼개는 방법을 가르치기 전에 언제 쪼개지 말아야 하는지부터 다룹니다. 그다음 쪼갠 대가로 새로 생기는 문제 — 네트워크 실패, 분산 트랜잭션, 연쇄 장애, 요청 경로 추적 불가 — 를 하나씩 손으로 만들어 보고 하나씩 막습니다. 끝나면 '서비스를 나눌지'가 아니라 '무엇을 지불하고 무엇을 얻는지'로 말할 수 있게 됩니다.
중급 · 레슨 19 · 실습 5
커리큘럼
モノリスからMSAへ
- 割ると何が良くなり、何が悪くなるのか reading
- モノリスを二つのサービスに分ける lab
- クイズ: いつ割るのか quiz
サービス境界とドメイン
- 境界をどこに引くのか reading
- クイズ: サービス境界 quiz
同期通信(REST・gRPC)とその代償
- ネットワーク呼び出しは関数呼び出しではない reading
- サービス間REST呼び出しにタイムアウトとリトライを入れる lab
- クイズ: 同期通信の代償 quiz
非同期通信とイベント
- 命令ではなく事実を送る reading
- クイズ: 非同期とイベント quiz
データ整合性(Saga・Outbox)
- 二重書き込み問題とその解法 reading
- Outboxパターンでイベント発行を保証する lab
- クイズ: SagaとOutbox quiz
回復力(タイムアウト・リトライ・サーキットブレーカー)
- サーキットブレーカーの状態機械 reading
- サーキットブレーカーの実装と状態遷移の検証 lab
- クイズ: 回復力 quiz
分散トレーシングと相関ID
- メトリクスでは答えられない問い reading
- 相関IDの伝播を検証する lab
- クイズ: 分散トレーシング quiz