マイクロサービスパターン[実践的システムデザインのためのコード解説]
インプレス
- Chris Richardson(著者)、 長尾高弘(著者)、 樽澤広亨(著者)
マイクロサービスプロジェクト成功のための実践指南書
マイクロサービスは、現在最も注目されるソフトウェアのアーキテクチャスタイルです。巨大なモノリシック(一枚岩)システムを、独立した複数のサービスへと分割することによって、それらのサービスはRESTやメッセージングを介して協業できるようになります。機能別に分割されたサービスはそれぞれ個別に開発/デプロイ/管理され、疎結合となっており、保守性や運用性が飛躍的に向上します。
マイクロサービスは巨大なエンタープライズシステムのモダナイゼーションに役立つアーキテクチャスタイルですが、その実践は簡単なことではありません。本書は、システムのマイクロサービス化の成功に向けた極めて実践的な解説書です。豊富なサンプルコードを示しながら、ストーリー仕立てで具体的な解説を試みます。システムやプロセス間通信の設計や、ビジネスロジックの開発、データの永続化などを解説し、さらにテストやデプロイ、開発プロジェクトのマイクロサービスへの移行などについても考察しています。
マイクロサービスについて詳しく知り、その実現のための具体的な方法を知りたい、開発の失敗を避けるための生きた知識を得たいという方のために、本書はさまざまな知見を提供します。
発売日:2020-03-23
ページ数:569ページ
目次
表紙
サンプル/正誤表/商標など
本書について
本書はどのような人々のために書かれているか
ロードマップ
コードについて
ブックフォーラム
その他のオンラインリソース
著者について
監修者について
訳者について
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 まとめ
索引
奥付
著者プロフィール
-
Chris Richardson(著者)
●著者プロフィール
◎Chris Richardson(クリス・リチャードソン)
経験豊富なシステムアーキテクト。CloudFoundry.comのファウンダーであり、世界中の顧客のためにマイクロサービスアーキテクチャの適用についての活動を行っている。
絶賛!発売中!
-
- スタイル別イラストデザインブック
- 予約 2,794円
-
- 小尾 洋平(オビワン)(著者)
- グラフィックス・デザイン
-
- 予約受付中
-
- Pythonによるネットワーク自動化の教科書
- 予約
-
- 小澤昌樹(著者)
- その他言語
-
- 予約受付中
-
- かんたん合格 ITパスポート過去問題集 令和6年度春期
- 予約 1,408円
-
- 間久保 恭子(著者)
- IPA試験
-
- 予約受付中
- 運営会社
- FAQ
- お問い合わせ
- 利用規約
- オンライン販売について
- 特定商取引法に関する記載
- ゲームソフトの利用に関するガイドライン|
- 個人情報について
- PURCHASE GUIDE (ENGLISH)|
Copyright © Mynavi Publishing Corporation