インプレス[コンピュータ・IT]ムック マイクロサービスパターン[実践的システムデザインのためのコード解説
インプレス / 2020年03月30日 / 全567ページ
現在、ITの世界で注目を集めるマイクロサービスを体系的に紹介します。システム分割や設計のレベルから、プロセス間通信、トランザクション、データベース、テスト、デプロイなどほぼすべての側面を網羅した具体的な解説書です。本書のなかでは多数のパターンが紹介され、それらを駆使したフードサービスのサンプルプロジェクトで説明されます。マイクロサービスを具体化したい、実践的に適用したいという人に役立つ知識が満載です。
目次
- サンプル/正誤表/商標など
- 本書について 本書はどのような人々のために書かれているかロードマップ
- コードについて
- ブックフォーラム その他のオンラインリソース 著者について
- 監修者について 訳者について
- 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 マイクロサービスアーキテクチャにおけるプロセス間通信の概要
- サンプル/正誤表/商標など
- 本書について 本書はどのような人々のために書かれているかロードマップ
- コードについて
- ブックフォーラム その他のオンラインリソース 著者について
- 監修者について 訳者について
- 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 まとめ
- 索引
- 奥付
※このデジタル雑誌には目次に記載されているコンテンツが含まれています。それ以外のコンテンツは、本誌のコンテンツであっても含まれていません のでご注意ください。
※電子版では、紙の雑誌と内容が一部異なる場合や、掲載されないページがある場合があります。