書籍
マイクロサービスパターン
Microservices Patterns
Chris Richardson
概要
Sagaパターン、CQRS、イベントソーシングなど、分散システム特有の トランザクション管理と非同期メッセージングの実装手法を詳解する上級書。
対象読者
- マイクロサービスの実装パターンを学びたいアーキテクト
- 分散トランザクション管理に取り組むエンジニア
タグ
奥付
- 出版社
- インプレス
- ISBN
- 978-4295008583
- 出版日
- 2020年3月
- 参考定価
- ¥5,280税込Amazonの実売価格と異なる場合があります
この本を手に入れる
※ 上記は Amazon アソシエイトによる広告リンクです。関連書籍
前提となる書籍
- 推奨前提
Go言語による並行処理
Concurrency in Go
Katherine Cox-Buday
理由: 単一プロセス内の並行処理を理解したら、複数プロセス=サービス間で非同期に協調する世界へ広げる。Microservices Patterns はメッセージング・Saga・イベント駆動といった分散システムの協調パターンを与え、並行性の発想をネットワーク越しに展開する。
- 推奨前提
モノリスからマイクロサービスへ
モノリスを進化させる実践移行ガイド
Sam Newman
理由: モノリスを分割すべきかの判断ができたら、実際に分割した先で必要になる実装パターンの引き出しを揃える。Microservices Patterns はサービス分割・データ管理・通信・デプロイの定石をカタログ化し、「どう分けるか」から「どう作るか」へ橋渡しする。
- 推奨前提
Clean Architecture
達人に学ぶソフトウェアの構造と設計
Robert C. Martin
理由: 境界と依存の原則を一つのプロセス内で設計できたら、その原則を分散システムへスケールさせる。Microservices Patterns は各サービスの内部設計(アーキテクチャ)を保ちつつ、サービス間の通信・整合性・障害をどう設計するかの語彙を与える。
次に読む書籍
- 推奨前提
Release It!, 2nd Edition
Design and Deploy Production-Ready Software
Michael T. Nygard
理由: 分散システムを実装する力がついたら、それが「壊れたときにどう振る舞うか」を設計する視点が不可欠になる。Release It! はサーキットブレーカーやバルクヘッドといった安定性パターンを与え、障害が連鎖しないシステムを設計させる。
- 推奨前提
データ指向アプリケーションデザイン
信頼性、拡張性、保守性の高い分散システム設計の原理
Martin Kleppmann
理由: マイクロサービスの実装パターンを学ぶと、サービス間でデータをどう一貫させるかという難所に必ず突き当たる。Designing Data-Intensive Applications は分散データの整合性・複製・トランザクションの理論を与え、パターンの「なぜ効くか」を裏付ける。
- 参考
Web APIテスト技法
Testing Web APIs
Mark Winteringham
理由: サービスを分割すると、サービス間のインターフェースが変わるたびに連携が壊れるリスクが生まれる。Testing Web APIs は消費者駆動契約(CDC)を含む契約テスト戦略を与え、独立デプロイを安全に保つ検証の網を張る。