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

読書メモ


-nilog: マイクロサービスパターンをざっと読了。非同期メッセージングパターン(MQ)やサーガによるトランザクション管理が参考になった。 「本書は、システムのマイクロサービス化の成功に向けた極めて実践的な解説書です。豊富なサンプルコードを示しながら、ストーリー仕立てで具体的な解説を試みます。システムやプロセス間通信の設計や、ビジネスロジックの開発、データの永続化などを解説し、さらにテストやデプロイ、開発プロジェクトのマイクロサービスへの移行などについても考察しています」 マイクロサービスパターン[実践的システムデザインのためのコード解説] impress top gearシリーズ | Chris Richardson, 長尾高弘, 樽澤広亨 (2024-03-13)
--http://www.nilab.info/nilog/?type=m01&id=112085857902168637
--

-非同期メッセージングパターン (MQ)
--メッセージの順序
--重複メッセージ処理
--メッセージブローカーの可用性が高くないといけない

-サーガによるトランザクション管理
--サーガのステップをコーディネート(コントロール)するコード
---ローカルトランザクションの実行を指示する
--コレオグラフィ (choreography): サーガの参加サービスに次のステップの判断を委ねる分散管理
--オーケストレーション (orchestration): サーガオーケストレータクラスでコーディネートロジックを一元管理

書籍情報


-マイクロサービスパターン 実践的システムデザインのためのコード解説 - インプレスブックス
--https://book.impress.co.jp/books/1118101063
-->マイクロサービスの実践プロジェクト指南書
-->現在、ITの世界で注目を集めるマイクロサービスを体系的に紹介します。システム分割や設計のレベルから、プロセス間通信、トランザクション、データベース、テスト、デプロイなどほぼすべての側面を網羅した具体的な解説書です。本書のなかでは多数のパターンが紹介され、それらを駆使したフードサービスのサンプルプロジェクトで説明されます。マイクロサービスを具体化したい、実践的に適用したいという人に役立つ知識が満載です。
--
-->目次
-->Chapter 1 モノリシック地獄からの脱出
-->Chapter 2 サービスへの分割
-->Chapter 3 マイクロサービスアーキテクチャで使われるプロセス間通信
-->Chapter 4 サーガによるトランザクションの管理
-->Chapter 5 マイクロサービスアーキテクチャにおけるビジネスロジックの設計
-->Chapter 6 イベントソーシングを使ったビジネスロジックの開発
-->Chapter 7 マイクロサービスアーキテクチャでのクエリーの実装
-->Chapter 8 外部APIパターン
-->Chapter 9 マイクロサービスのテスト(前編)
-->Chapter 10 マイクロサービスのテスト(後編)
-->Chapter 11 本番環境に耐えられるサービスの開発
-->Chapter 12 マイクロサービスのデプロイ
-->Chapter 13 マイクロサービスのリファクタリング

-マイクロサービスパターン[実践的システムデザインのためのコード解説]【委託】 - 達人出版会
--https://tatsu-zine.com/books/microservices-patterns

-マイクロサービスパターン[実践的システムデザインのためのコード解説] impress top gearシリーズ | Chris Richardson, 長尾高弘, 樽澤広亨 | 工学 | Kindleストア | Amazon
--https://www.amazon.co.jp/dp/B086JJNDKS?tag=nilabwiki-22&linkCode=osi&th=1&psc=1
-->マイクロサービスは、現在最も注目されるソフトウェアのアーキテクチャスタイルです。巨大なモノリシック(一枚岩)システムを、独立した複数のサービスへと分割することによって、それらのサービスはRESTやメッセージングを介して協業できるようになります。機能別に分割されたサービスはそれぞれ個別に開発/デプロイ/管理され、疎結合となっており、保守性や運用性が飛躍的に向上します。
-->マイクロサービスは巨大なエンタープライズシステムのモダナイゼーションに役立つアーキテクチャスタイルですが、その実践は簡単なことではありません。本書は、システムのマイクロサービス化の成功に向けた極めて実践的な解説書です。豊富なサンプルコードを示しながら、ストーリー仕立てで具体的な解説を試みます。システムやプロセス間通信の設計や、ビジネスロジックの開発、データの永続化などを解説し、さらにテストやデプロイ、開発プロジェクトのマイクロサービスへの移行などについても考察しています。
-->マイクロサービスについて詳しく知り、その実現のための具体的な方法を知りたい、開発の失敗を避けるための生きた知識を得たいという方のために、本書はさまざまな知見を提供します。