マイクロサービスは、組織がより簡単にスケール、デプロイ、保守、進化できるアプリケーションを構築するのに役立ちます。しかし、分散アーキテクチャは、通信、フォールトトレランス、データの一貫性、サービスの境界、フロントエンド統合などの課題も導入します。このコースは、実証済みのマイクロサービス設計パターンを通じてこれらの課題を解決するための構造化された紹介を提供します。
最初に、マイクロサービスアーキテクチャの基礎を確認し、マイクロサービスが従来のモノリシックアプリケーションとどのように異なるかを理解します。コースは次に、設計パターンの役割を紹介し、それらが分散システムの一般的な問題に対する再利用可能なソリューションを提供する方法を説明します。
アグリゲーターパターンを探索し、複数のサービスからの応答を統合された結果に組み合わせる方法を学びます。APIゲートウェイパターンは、中央のエントリポイントがルーティングを管理し、クライアントとバックエンドサービス間の通信を簡素化する方法を示します。
コースは、一連の独立したハンドラーを通じてリクエストを処理する責任チェーンパターンをカバーします。また、即時の応答を待つことなくサービスが動作するのを支援する、非同期メッセージングも検討します。
専用のレッスンは、アプリケーションがサービス障害を検出し、繰り返される失敗したリクエストを防ぎ、カスケード障害のリスクを減らす方法を説明する回路ブレーカーパターンを紹介します。これらの耐障害性原則は、個々のサービスが問題を経験しても分散アプリケーションが利用可能なままになるのを支援します。
次に、データと構造パターン、共有データベースパターン、ブランチパターン、分解パターンを学びます。これらのレッスンは、サービスがどのように分離され、ワークフローがコンポーネント間でどのように分岐し、より大きなアプリケーションが管理可能なビジネス機能に分割されるかを説明します。
コースはまた、コマンドとクエリの責任を分離するCQRSと、変更をイベントのシーケンスとして記録するイベントソーシングをカバーします。これらのパターンは、スケーラブルなワークフロー、トレーサビリティ、より柔軟なデータモデルをサポートできます。
最後に、ウェブやモバイルアプリケーションなどの異なるインターフェースに専用のバックエンドサービスを提供するバックエンド・フォー・フロントエンドパターンを探索します。適切なパターンを選択し、コード可視化ツールを使用するガイダンスは、アーキテクチャの選択を評価し、サービスの関係を理解するのに役立ちます。
コースを完了することで、
利点:マイクロサービスの原則とアーキテクチャの特性を理解します。
11の一般的なマイクロサービス設計パターンを識別し適用します。
サービス通信のためのアグリゲーターとAPIゲートウェイパターンを実装します。
責任チェーンを使用してリクエスト処理ワークフローを整理します。
非同期メッセージングを使用して、冗長なサービスを作成します。
回路ブレーカーパターンを通じてシステムの耐障害性を向上させます。
分解とブランチ技術を使用してサービスの境界を定義します。
CQRSとイベントソーシングを分散データワークフローに適用します。
バックエンド・フォー・フロントエンドパターンを使用して特殊なバックエンドを設計します。
スケーラビリティ、耐障害性、保守性のニーズに基づいて適切なパターンを選択します。