達人出版会 | 夏休みに読みたい!インプレス&近代科学社フェア
マイクロサービスパターン[実践的システムデザインのためのコード解説]

マイクロサービスパターン[実践的システムデザインのためのコード解説]

Chris Richardson

インプレス

現在、ITの世界で注目を集めるマイクロサービスを体系的に紹介します。システム分割や設計のレベルから、プロセス間通信、トランザクション、データベース、テスト、デプロイなどほぼすべての側面を網羅した具体的な解説書です。

PDF EPUB固定
SALE 5,280円 2,640円 (税込)

【注意】本書のEPUB版は固定レイアウト型になっております。文字の大きさの変更や検索、引用などはお使いいただけません。画面の大きい端末でご利用ください。

ギフト用に購入

書籍情報

著者: Chris Richardson
共著者: , 長尾高弘(訳), 樽澤広亨(監修)

発行日: 2020-03-23
最終更新日: 2020-03-23

バージョン: 1.0.0
ページ数: 569ページ(PDF版換算)ページ
対応フォーマット: PDF, EPUB
出版社: インプレス

対象読者

これからマイクロサービスをスクラッチで開発する、あるいは既存のモノリシックなプログラムをマイクロサービス化しようとしている開発者やアーキテクト

著者について
Chris Richardson

経験豊富なシステムアーキテクト。CloudFoundry.comのファウンダーであり、世界中の顧客のためにマイクロサービスアーキテクチャの適用についての活動を行っている。

目次

本書について

  • 本書はどのような人々のために書かれているか
  • ロードマップ
  • コードについて
  • ブックフォーラム
  • その他のオンラインリソース
  • 著者について
  • 監修者について
  • 訳者について

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 まとめ

索引