マイクロサービスパターン 実践的システムデザインのためのコード解説(Chris Richardson)
書籍情報
書籍目次
- 本書について
- 本書はどのような人々のために書かれているか
- ロードマップ
- コードについて
- ブックフォーラム
- その他のオンラインリソース
- 著者について
- 監修者について
- 訳者について
- Chapter 1 モノリシック地獄からの脱出
- 1.1 ゆっくりとした足取りによるモノリシック地獄への転落
- 1.2 本書がみなさんにとって意味を持つ理由
- 1.3 本書で学べること
- 1.4 マイクロサービスアーキテクチャで状況打開
- 1.5 マイクロサービスアーキテクチャの利点と欠点
- 1.6 マイクロサービスアーキテクチャのパターン言語
- 1.7 マイクロサービスを越えて: プロセスと組織
- 1.8 まとめ
- Chapter 2 サービスへの分割
- 2.1 マイクロサービスアーキテクチャとは正確なところ何なのか
- 2.2 マイクロサービスアーキテクチャの定義の方法
- 2.3 まとめ
- Chapter 3 マイクロサービスアーキテクチャで使われるプロセス間通信
- 3.1 マイクロサービスアーキテクチャにおけるプロセス間通信の概要
- 3.2 同期的なリモートプロシージャ呼び出しパターンを使った通信
- 3.3 非同期的メッセージングパターンを使った通信
- 3.4 可用性向上のための非同期メッセージング
- 3.5 まとめ
- Chapter 4 サーガによるトランザクションの管理
- 4.1 マルチサービスアーキテクチャにおけるトランザクション管理
- 4.2 サーガのコーディネート
- 4.3 分離性の欠如への対処方法
- 4.4 オーダーサービスとCreate Order Sagaの設計
- 4.5 まとめ
- Chapter 5 マイクロサービスアーキテクチャにおけるビジネスロジックの設計
- 5.1 ビジネスロジック構成パターン
- 5.2 DDDのAggregateパターンを使ったドメインモデルの設計
- 5.3 ドメインイベントのパブリッシュ
- 5.4 キッチンサービスのビジネスロジック
- 5.5 オーダーサービスのビジネスロジック
- 5.6 まとめ
- Chapter 6 イベントソーシングを使ったビジネスロジックの開発
- 6.1 イベントソーシングを使ったビジネスロジックの開発
- 6.2 イベントストアの実装方法
- 6.3 サーガとイベントソーシングの併用
- 6.4 まとめ
- Chapter 7 マイクロサービスアーキテクチャでのクエリーの実装
- 7.1 〈API composition〉パターンを使ったクエリー
- 7.2 〈CQRS〉パターンを使ったクエリー
- 7.3 CQRSビューの設計
- 7.4 AWS DynamoDBによるCQRSビューの実装
- 7.5 まとめ
- Chapter 8 外部APIパターン
- 8.1 外部APIを設計するときの問題点
- 8.2 〈APIゲートウェイ〉パターン
- 8.3 APIゲートウェイの実装
- 8.4 まとめ
- Chapter 9 マイクロサービスのテスト(前編)
- 9.1 マイクロサービスアーキテクチャのテスト戦略
- 9.2 サービスのユニットテストの開発
- 9.3 まとめ
- Chapter 10 マイクロサービスのテスト(後編)
- 10.1 統合テストの開発
- 10.2 コンポーネントテストの開発
- 10.3 エンドツーエンドテストの開発
- 10.4 まとめ
- Chapter 11 本番環境に耐えられるサービスの開発
- 11.1 セキュアなサービスの開発
- 11.2 設定可能なサービスの設計
- 11.3 可観測性を備えたサービスの設計
- 11.4 〈Microservice chassis〉パターンを使ったサービスの開発
- 11.5 まとめ
- Chapter 12 マイクロサービスのデプロイ
- 12.1 〈Language-specific packaging format〉パターンによるサービスのデプロイ
- 12.2 〈Service as a VM〉パターンによるサービスのデプロイ
- 12.3 〈Service as a container〉パターンによるサービスのデプロイ
- 12.4 KubernetesによるFTGOアプリケーションのデプロイ
- 12.5 〈Serverless deployment〉パターンを使ったサービスのデプロイ
- 12.6 AWS LambdaとAWS API Gatewayを使ったRestfulサービスのデプロイ
- 12.7 まとめ
- Chapter 13 マイクロサービスのリファクタリング
- 13.1 マイクロサービスへのリファクタリングの概要
- 13.2 モノリスをマイクロサービスに移行させるための方法
- 13.3 サービスとモノリスの連携方法の設計
- 13.4 新機能をサービスとして実装する:配達ミスの処理
- 13.5 モノリスの分解:配達管理の抽出
- 13.6 まとめ
- 索引