Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Back-end

Microservice実装(EDA、Hexagonal、DDDを使用)

ドメイン駆動設計、ヘキサゴナルアーキテクチャ、イベント駆動アーキテクチャをすべて適用したマイクロサービス開発の過程を紹介します。

  • scant10
이론 실습 모두
저자 직강
msa
MSA
DDD
hexagonal-architecture

学習した受講者のレビュー

こんなことが学べます

  • マイクロサービス開発

  • ヘキサゴナルアーキテクチャ適用

  • ドメイン駆動設計開発

  • イベント駆動アーキテクチャ適用

  • MSA

川の一つに仕上げる
マイクロサービス実装アーキテクチャ3台長!

*改善に努めていますが、一部の動画に音質が悪く、コードにバグ(誤字)がある場合があります。タイプミスや改善点をご提示いただければ、継続的に改善させていただきます。

実際のコードで見て学ぶ
MSAコア3つのアーキテクチャ

(1) ヘキサゴナルアーキテクチャ (2) ドメイン主導設計 (3) イベントベースのアーキテクチャを通じて技術に柔軟でありながらビジネスロジックに集中し、メンテナンス性が高く、依存性が低く独立して配布できるマイクロサービスの実装について学びます。

あっ、もしかしたら私の話じゃないの?

😥

MSAのおおよその概念を理解していましたが、いつ、どのようにマイクロサービスで実装する必要があるのか​​。

🙄

ドメイン主導の設計がヘキサゴナル、EDAに関連していると言っていますが、実装時にどのように適用する必要がありますか?

😵

ドメイン主導の設計講座を聞いてドメインモデルを設計したのですが、実際に実装はどうすべきかは幕膜ですね。

MSA構造で最もよく取り上げられているドメイン主導設計、ヘキサゴナルアーキテクチャ、イベントベースのアーキテクチャなどについて、多くの開発者が概念的/理論的に多く接しています。しかし、いざ実際にどのように適用するかを考えると、幕を閉じるのではないでしょう。

この講義は、MSAの概念とアーキテクチャ/設計方法を説明した以前の講義を完了する実践中心の講義です。

前のレッスンで定義した上記の実践アーキテクチャと設計モデルに基づいて、DDD、ヘキサゴナルアーキテクチャ、EDAをどのように効果的に組み合わせることができるかを実際のコードで実装し説明します。最後に、EDA実装の現実的な問題である分散トランザクションのSAGAパターンも適用します。

マイクロサービスの実装で最もホットな技術3つ

ドメイン主導設計
(Domain-Driven Design, DDD)

ビジネス戦略ドメインパターンを中心にソフトウェアアーキテクチャを構築する開発方法論

ヘキサゴナルアーキテクチャ
(Hexagonal Architecture)

ドメイン中心の依存関係の流れが外部に出ないように管理するアーキテクチャパターン

イベント主導設計
(Event Driven Architecuture)

スケーラブルなアプリケーションを作成するために広く使用されている分散型非同期アーキテクチャ


この講義だけ
特徴を確認してください📗

  • 長年の実務者の経験に基づいた鮮やかな現場を飛ぶように講義します。 😁
  • ヘキサゴナルアーキテクチャ/ドメイン主導設計の理想を目指しますが、現実を反映したアプローチを提案します。
  • 本講義は、概念ではなく、書籍レンタルシステムをマイクロサービスアーキテクチャで実現する実践中心で構成されています。
  • 実際のマイクロサービス開発に適用される温かい現場の基準、判断(?)技術を紹介します。

だから、こんな方にお役に立てます! 🏃‍♀️

柔軟でスケーラブルなマイクロサービスアーキテクチャを導入したい技術/設計リーダー

ヘキサゴナルアーキテクチャをマイクロサービスに適用したいマイクロサービス開発者

ドメイン主導設計(DDD)と実装に関心を持つバックエンド開発者


さて、今実装してみましょう!
マイクロサービス開発💻

実践ドメインのマイクロサービス構成図による実装アーキテクチャの理解

実践ドメインの各マイクロサービス別の性格、構成仕様、マイクロサービス間の通信関係を調べましょう。

高可用性スケーラビリティが高い:イベントブローカー

イベントベースのアーキテクチャを実装するための必須要素であるイベントブローカーの特徴を説明し、マイクロサービス間の通信に活用する方法を説明します。

ヘキサゴナルアーキテクチャの実装方向の提示

ヘキサゴナルアーキテクチャの3つのヘキサゴンタイプを説明し、アーキテクチャを適用するためのスプリングブートパッケージ構造について説明します。

最も柔軟なマイクロサービス内部構造を定義できるヘキサゴナルアーキテクチャの実装

従来のレイヤードアーキテクチャの限界を克服するヘキサゴナルアーキテクチャをドメイン主導設計と融合して実装する方法を説明し、主要なコンポーネントを詳しく学びます。

ドメインモデルの実装

ブックレンタルシステムとは、テーマを持ち、ドメイン主導設計(戦術的設計)でモデル化したマイクロサービス別ドメインモデルを説明し、実際のコードで実装してみます。

イベント主導アーキテクチャの実装

イベントストーミングを通じて識別されたマイクロサービス間の非同期通信関係をまとめてイベントフローとして設計し、カフカを活用して実装します。

SAGAの実装

マイクロサービス間の分散トランザクションの問題を解決するために、代表的なMSAパターンであるSAGAパターンをカフカイベントブローカーを活用して実装してみます。

だから、こんなことができるようになります! 😎

  • ヘキサゴナルアーキテクチャをバックエンドアプリケーション開発にどのように適用するかを知ることができます。
  • ドメイン主導設計の主な結果であるドメインモデルとヘキサゴナルアーキテクチャがどのように融合するかを理解できます。
  • 最もスケーラブルなイベントベースの非同期通信マイクロサービスを開発できます。
  • マイクロサービス間のホットな問題である分散トランザクションのためのSAGAパターンを理解して実装できます。

この講義
知識共有者は💁‍♂️

23年目の開発者、han jeong heon

  • 現大企業のSIソフトウェアエンジニア
  • 多数の大規模な次世代プロジェクトの開発方法論および設計方法のリーディング
  • 明治大学・ソウル科学技術大学SW科目講義、韓国情報技術研究院(KITRI)、LG電子MSA課程講義
  • マルチキャンパス、韓国標準協会、韓国品質協会 MSAコースメンタリング
  • 専門分野:開発方法論、ソフトウェアアーキテクチャ/設計/開発技術
  • ウィキブックス「ドメイン主導設計から始まるマイクロサービス開発」 私 (2022)
  • 国家生涯教育振興院K-MOOC「Microserviceの設計と実装」講座
「Microserviceの設計と実装」講義の開発
「ドメイン主導設計から始まるマイクロサービス開発」著者

Q&A 💬

Q.講義の理論:実習の割合はどのくらいですか?

本講義の理論は少しで、ほとんど実践で構成されています。理論を最初に学習して受講することが望ましく、理論ごとに別々の関連講座を受講する必要があります。 ^^;;

Q. 実務経験のない就学生や非専攻者も聞くことができますか?

クラウド体験がなくても、実際のレガシー体験を持つ中級レベルの開発者なら、アクセスできるレベルです。しかし、実務経験者であっても、MSA、DDD、アーキテクチャについて理解しなければ簡単にアクセスできるはずです。

Q. 授業内容をどのレベルまで扱いますか?

このレッスンは、前提条件に基づいて定義されたアーキテクチャ、設計モデルに基づいて実装に焦点を当てるレッスンです。各バックエンドマイクロサービスを開発し、マイクロサービス間のイベント通信まで実装します。

Q. 授業はどのように進行し、どのように学習するのが良いでしょうか。

仮想の書籍レンタルシステムを中心にバックエンドマイクロサービスを一つ一つ一緒に実装する方式です。受講生は講師が開発するコードを見て一緒に開発するのが最善の方法だと思います。従うほど十分にゆっくり進んだのです。 ^^;;

一緒に見ればいい講義📺

💾受講前の注意

  • 講義録音条件により、受講環境により音質が不均一に感じられる場合があります。受講前[プレビュー] 授業を必ずご確認ください。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • ドメイン駆動設計に関心のある開発者

  • ヘキサゴナルアーキテクチャを適用したいバックエンド開発者

  • アーキテクチャ/設計に関心が高い中級以上のバックエンド開発者

前提知識、
必要でしょうか?

  • java

  • msa

  • ddd

こんにちは
です。

2,608

受講生

154

受講レビュー

53

回答

4.6

講座評価

3

講座

  • 국내 SI업체 소프트웨어 엔지니어(SA,AA)

  • 다수의 대규모 차세대 프로젝트 개발방법론 및 설계방법 리딩 

  • 명지대, 서울과학기술대  클라우드,SW과목 강의

  • SK C&C,한국정보기술연구원(kitri), LG전자 MSA과정 강의

  • 멀티캠퍼스, 한국표준협회, 한국품질협회 MSA 과정 멘토링,스파로스아카데미 웹개발 과정 멘토링 

  • 전문분야 : 개발방법론, 소프트웨어 아키텍처/설계/개발 기법

  • 22년 , 위키북스 "도메인주도로 시작하는 마이크로서비스 개발",  저자

  • 국가평생교육진흥원, K-MOOC "Microservice 설계 및 구현 "  강좌 개발 및 강의

カリキュラム

全体

42件 ∙ (10時間 8分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

23件

4.1

23件の受講レビュー

  • han jeong heon님의 프로필 이미지
    han jeong heon

    受講レビュー 4

    平均評価 5.0

    5

    100% 受講後に作成

    • 웃자님의 프로필 이미지
      웃자

      受講レビュー 10

      平均評価 5.0

      5

      100% 受講後に作成

      지금까지 개발하면서 구성한 시스템에서 EDA의 사가 패턴이 제대로 구성되어있는지 돌아보게 되었습니다 이 강의는 EDA 뿐만 아니라 어떻게 설계하고, 객체 지향적으로 도메인을 구성해야 되는지, 실전에서 어떤 부분을 헥사고널에서 타협해서 개발할 수 있는지에 대해서 고민을 다뤄서 좋았습니다 하지만 목소리가 너무 잘 안들리고, 강의마다 목소리 크기가 달라서 듣기가 좀 힘들었습니다 추가로 문서와 강의가 다른게 많고, 오탈자가 많아서 수정하면서 힘들었습니다 그렇다고 실제로 동작하지 않는 케이스는 전혀 없었습니다 저는 숙련된 개발자이기에, 어느정도 틀려도 제공해주신 깃헙과 맞춰가면서 수정했지만, 숙련되지 않은 개발자들은 강의를 들으면서 고생 좀 하겠다는 생각이 들었습니다 결론으로 개인적으로는 전반적으로는 너무 좋았기에, 다른 강의도 다 찾아서 들을 예정입니다. 좋은 강의 만들어주셔서 감사합니다

      • han jeong heon
        知識共有者

        평가 감사합니다. 아 역시 오디오가 문제이군요. ㅠ ㅠ 죄송합니다. 오디오 및 문서 싱크 오탈자에 좀더 신경쓰도록 하겠습니다.🙇‍♂️🙇‍♂️🙇‍♂️

    • 심영우(Young-Woo SHIM님의 프로필 이미지
      심영우(Young-Woo SHIM

      受講レビュー 4

      平均評価 5.0

      5

      31% 受講後に作成

      • princekey님의 프로필 이미지
        princekey

        受講レビュー 13

        平均評価 4.9

        5

        62% 受講後に作成

        • 성열호님의 프로필 이미지
          성열호

          受講レビュー 2

          平均評価 5.0

          5

          31% 受講後に作成

          ¥11,803

          scant10の他の講座

          知識共有者の他の講座を見てみましょう!

          似ている講座

          同じ分野の他の講座を見てみましょう!