강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

マイクロサービス設計パターン完全ガイド

このコースは、マイクロサービスアプリケーション開発のためのMSAデザインパターンと実装戦略に必要な様々な内容、パターン、および設計について学ぶコースです。既存のモノリシックアプリケーションをMSA方式で成功裏に移行するために必要な中核知識と実践的な方法論について学習します。マイクロサービスアーキテクチャの根幹をなす様々なデザインパターンについて分析し、各パターンがどのような状況に適しており、どのように適用されるかを学習できます。

難易度 初級

受講期間 無制限

  • Dowon Lee
Java
Java
Spring Cloud
Spring Cloud
Design Pattern
Design Pattern
MSA
MSA
patterns
patterns
Java
Java
Spring Cloud
Spring Cloud
Design Pattern
Design Pattern
MSA
MSA
patterns
patterns

マイクロサービスアーキテクチャ向けの デザインパターン 講座 が開講しました。

こんにちは、離島院です。

今回新たにMicroservice ArchitectureのためのDesign Pattern講義をオープンしました。

本当に、あまりにも大変で忙しかった2024年を後にして、新たに2025年もすでに5月が過ぎていますね。

プロジェクトに執筆に講義に個人史に色々なことが多かったのですが、それでも長い間遅れてきた講義を一つオープンすることになりました。

  • Spring Cloudで開発するマイクロサービスアプリケーション(MSA)

  • Jenkinsを使用したCI / CDパイプラインの構築

  • DevOpsのためのDocker仮想化技術(Private Harbor Registry)

  • マイクロサービス設計パターンを適用したMSAアプリケーションの開発

講義に続いて、アプリケーションの構築に必要なデザインパターンに関する講義を準備しました。最初に「Spring Cloudで開発するマイクロサービスアプリケーション(MSA)」講義を企画する際、Cloud Nativeに関する基本的な講義を完了し、次の段階でデザインパターンと実務に適用できるアーキテクチャを通じてWebサービスを開発してみる講義を企画したところ、思ったより時間がかかりました。それでも様々なパターンをいくつかのグループにまとめて講義をオープンすることになりましたので、多くの関心をお願いします。

今回の講義では、次のようなパターンを扱っています。

  • API Gateway(API Gateway):クライアントからのすべての要求を単一のエントリポイントで受け取り、認証、ロギング、ルーティングなどを処理するパターン。複数のマイクロサービスを1か所で管理できます。

  • サービスディスカバリ:動的に変化するサービスインスタンスの場所を中央レジストリに登録して検索するパターン。これにより、サービス間通信時にアドレスを自動的に探索します。

  • 同期および非同期通信:同期通信は、要求を送信したサービスが応答を受信するのを待つように、応答が来るまでスレッドがブロックされます。 REST/gRPC/GraphQL API 方式で同期通信を実装できます。非同期通信は、要求を送信したサービスが応答を待たずに直ちに次の作業を進める方法で、Kafkaなどのメッセージブローカーを介してイベントを発行して購読する方法で通信します。

  • サーキットブレーカー(Circuit Breaker):あるサービスの障害が連鎖的に広がるのを防ぐために通話を短絡するパターン。外部サービスが無効になっていると、一定時間の呼び出しを中止し、迅速な失敗を引き起こします。

  • フォールバック処理:サーキットブレーカーなどが作動したときの対策として、代替応答再試行ロジックを提供するパターンです。部分障害時にシステムの弾力性を高めます。

  • 佐賀パターン:分散サービスでデータの一貫性を維持するための分散トランザクションパターン。各サービスのローカルトランザクションをイベント/メッセージにリンクして、最終的な一貫性を確保します。

  • CQRS&イベントソース:CQRS(Command Query Responsibility Segregation)は読み取りと書き込みモデルを分離してスケーラビリティを高めるパターンであり、イベントソース(Event Sourcing)はステータス変更をイベントログに保存して履歴に基づいて状態を復元するパターンです。一緒に使用され、複雑なビジネスのデータを管理します。

  • EDA: Event Driven Architectureは、イベントの生成、検出、消費、および使用を中心にシステムを設計するソフトウェアアーキテクチャパターンです。マイクロサービスアプリケーションのコンポーネントが「イベント」を介して互いに通信して相互作用する方法です。

  • BFF(Backend for Frontend): Web、モバイルなど、プラットフォーム固有のバックエンドを提供するパターンです。各フロントエンドのニーズに合わせた専用APIレイヤーを作成し、効率性と開発生産性を高めます。

今までずっと遅れてきた、「Spring Cloudで開発するマイクロサービスアプリケーション(MSA)」講義を皮切りに、既存の講義のコンテンツを更新しようとしています。講義をオープンした指導時間がかなり流れ、最新の内容で再作成しなければいけないという考えを続けてきましたが、さらに遅くないように更新しようとしています。

講義に関心を持ってくださった方々にもよろしくお願いします。

ありがとうございます。

コメント