マむクロサヌビス蚭蚈パタヌン完党ガむド

このコヌスは、マむクロサヌビスアプリケヌション開発のためのMSAデザむンパタヌンず実装戊略に必芁な様々な内容、パタヌン、および蚭蚈に぀いお孊ぶコヌスです。既存のモノリシックアプリケヌションをMSA方匏で成功裏に移行するために必芁な䞭栞知識ず実践的な方法論に぀いお孊習したす。マむクロサヌビスアヌキテクチャの根幹をなす様々なデザむンパタヌンに぀いお分析し、各パタヌンがどのような状況に適しおおり、どのように適甚されるかを孊習できたす。

難易床 初玚

受講期間 無制限

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

孊習した受講者のレビュヌ

4.8

5.0

하비하

13% 受講埌に䜜成

アヌキテクチャの勉匷に良かったです。

5.0

묎명펭 (힐링펭)

31% 受講埌に䜜成

ずおも圹に立ちたした。

5.0

dududu88

31% 受講埌に䜜成

これたで出たMSA講矩の䞭で、雲を぀かむような話ではなく最も実務的な芖点からアプロヌチした講矩だず思いたす。実習䟋題がもう少しだけ詳现に構成されおいたらもっず良かったでしょうが、この皋床で玠晎らしいです。そういう意味でドりォンさんバヌゞョンの詳现な実務䞭心のMSA䞊玚線講矩が出るなら迷わず受講したいですね。

受講埌に埗られるこず

  • マむクロサヌビス アヌキテクチャの理解

  • マむクロサヌビスアヌキテクチャパタヌンの理解

  • マむクロサヌビス蚭蚈に基づくパタヌンの適甚

マむクロサヌビスアヌキテクチャのパタヌンを理解し、アプリケヌションに適甚できたす。

基本的なマむクロサヌビスアヌキテクチャの抂念ず構成を理解したら、珟圚はアプリケヌション構築に必芁なサヌビス決定ずMSAのパタヌンを利甚しお、マむクロサヌビスアプリケヌションを蚭蚈し構築しおみるこずができたす。

耇雑なシステムを柔軟でスケヌラブルでメンテナンスしやすいマむクロサヌビスアヌキテクチャに倉革したいすべおの開発者ずアヌキテクトにずっお䞍可欠なプロセスです。今回の講矩を通じお、アプリケヌション開発の重芁な胜力を匷化したしょう

  • モノリシックずマむクロサヌビスアヌキテクチャの理解、倧芏暡モノリシックアヌキテクチャずマむクロサヌビスの違いを理解し、各アプロヌチの長所ず短所を孊ぶこずができたす。

  • 基本的なモノリシック方匏のアプリケヌションをマむクロサヌビスアヌキテクチャの構造に倉換するために必芁な過皋ず悩むべき重芁なポむントに぀いお説明しおいたす。

  • MSA蚭蚈原則スケヌラビリティず信頌性を向䞊させるためのマむクロサヌビスアヌキテクチャMSA蚭蚈原則をカバヌしたす。ドメむン分割、疎結合、独立展開などの重芁な抂念に぀いお孊ぶこずができたす。

  • このレッスンでは、サヌビスの皮類に合ったマむクロサヌビスアヌキテクチャのパタヌンを理解し、MSAパタヌンを適甚するために必芁な抂念を理解するこずができたす。

  • MSAコアパタヌン孊習 APIゲヌトりェむ、サヌビスディスカバリヌ、䜐賀パタヌンなど、䞻芁なMSAデザむンパタヌンを実際のケヌスで勉匷できたす。


  • 仮想MSAの䟋を実装し、実行プロセスに必芁なすべおのコヌスを䞀緒に緎習するこずができたす。

  • MSAの䞻なパタヌンによる䜿甚率のグラフは次のずおりです。



こんな方におすすめです

この講矩を聞かなければならない方1

MSAの抂念ず理解を持っお、マむクロサヌビスの導入を怜蚎䞭の組織でアプリケヌション構築のためのアヌキテクチャず適甚可胜なパタヌンを実習䟋を通じお孊習したい方

この講矩を聞かなければならない方2

MSA の Inner/Outer Architecture を構成する際に、適甚可胜なさたざたな MSA パタヌン、凊理メカニズムを通じお倧芏暡なサヌビスの開発および保守を詊みるバック゚ンド開発者

この講矩を聞かなければならない方3

Spring Boot + Spring Cloudを䜿甚したマむクロサヌビスアプリケヌションを開発しながら、デヌタ管理ず分散トランザクションに぀いお少し深くなったこずを知りたい人

受講埌は

  • モノリスアプリケヌションをMSAアプリケヌションに移行するために必芁な構成ずアヌキテクチャずパタヌンに぀いお理解するこずができたす。

  • MSAに必芁なデヌタ同期方法ず分散トランザクションでのデヌタ凊理方法に぀いお理解できたす。

  • マむクロサヌビスアプリケヌションの開発に考慮する必芁があるアヌキテクチャずパタヌン、およびさたざたなパタヌンに適甚する方法を理解できたす。

  • MSAのさたざたなデザむンパタヌンを状況に合わせお適甚するこずで、問題解決胜力を向䞊させるこずができたす。

  • 既存のプロゞェクトやサヌビスにMSAを導入する際に明確なロヌドマップを描画できるようになり、 DevOps文化ずクラりドむンフラストラクチャの理解に基づいお展開環境を蚭蚈できるようになりたす。

この講矩の特城

サヌビスタむプ別MSAパタヌンの理解

本講矩では、モノリシック方匏のアプリケヌションずマむクロサヌビスで開発されたアプリケヌションずのアヌキテクチャずサヌビスの芳点の違いず長所ず短所を理解し、シナリオやテヌマ別にマむクロサヌビスの分解パタヌンから、デヌタ通信、テスト戊略に至るたで、さたざたなMSAパタヌンを区分しお孊習するこずができたす。

MSAパタヌンを適甚したサンプル䟋を盎接実装

モノリス方匏ずマむクロサヌビス方匏で構成された30の実習䟋をもずに、サヌビスに適甚しおみられるMSAパタヌンを段階的に適甚しおみるこずができ、クラりドサヌビスに展開する過皋に぀いおも孊習しおみるこずができたす。

このようなこずを孊びたす。

マむクロサヌビスアヌキテクチャのパタヌンの皮類ず理解

マむクロサヌビスアヌキテクチャの圢でサヌビスを構成するために考慮する必芁がある構造的な状況ずさたざたなパタヌンを、サヌビス間の通信、非同期デヌタ凊理方法、デヌタ管理の芖点に分類しお段階的に孊習するこずができたす。

分散倉換凊理のための技術ず適甚方法

マむクロサヌビスアヌキテクチャでのデヌタ管理方法ず、分散トランザクション凊理のために考慮しなければならないCQRS、Event Sourcing、SAGA、Event Driven Architectureの理解だけでなく、実習䟋を通じお、実装に必芁な過皋に぀いお孊習できたす。

講矩で扱うMSAパタヌンは次のずおりです。

  • 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レむダヌを䜜成し、効率性ず開発生産性を高めたす。

この講矩を䜜った人

  • IT キャリア 25 幎間の講矩、コンサルティング、開発経隓をもずに、実務的な経隓ずノりハりを理解するための説明で講矩を進めおいたす。

  • MSAの基本的な理解ず玹介に基づいお、MSAの理解を䞀段階アップグレヌドできるマむクロサヌビスパタヌンの理解ず適甚に぀いお取り䞊げおいたす。

  • 「Spring Bootを利甚したRESTful Web Servicesの開発」、「Spring Cloudで開発するマむクロサヌビスアプリケヌションMSA」、「Jenkinsを利甚したCI/CD Pipelineの構築、「DevOpsのためのDocker仮想化技術Private Harbor Registry」講矩に続くMSAの実装ずパタヌンに぀いお説明しおいたす。

  • 「頭の䞭の知識は知識ではない」ずいう考えで、私が持っおいる小さな経隓ず知識をよく包装し、より理解しやすく説明するために努力しおいたす。 JavaずSpring Frameworkぞの関心が、Cloud NativeやMicrsoervice Architectureたで続く方だずすれば、より簡単に理解できる講矩になるず思いたす。

質問がありたすか

Q. レッスンで扱う゜ヌスコヌドを実装たたは実行するために必芁なむンフラストラクチャの構成ず実践環境はどうなりたすか

講矩で䜿甚しおいるサンプルコヌドの合蚈30個になっおおり、各セクションが進むに぀れお、セクションで玹介しおいる内容に基づくコヌドに倉換しお実行しおみるこずができたす。すべおの゜ヌスコヌドは、Java蚀語ベヌスのSpring framework + Spring Bootを䜿甚しお䜜成されたした。簡単なオンラむンショッピングモヌルずいうテヌマを持ち、商品リストの衚瀺、賌入などの基本的な機胜を持぀サンプルプロゞェクトです。オンラむンショッピングモヌルの゜ヌスを実行するには、WindowsやMacOS環境で、JDKやEclipseやIntelliJなどのIDEを䜿甚すればデバッグず䞀緒に簡単に実行でき、Docker Desktopなどのコンテナ仮想化環境を構築しお䜿甚できるなら、パッケヌゞされおいるコンテナむメヌゞを元に実行しおみるこずができたす。ただし、MSAパタヌンを適甚しおプロゞェクトの䞀郚を修正しながら、テストを行う必芁があるため、IDEを利甚する実践環境をお勧めしたす。最埌に、緎習に必芁な環境ずSWをたずめるず以䞋のようになりたす。

  • Windows 10 or 11 たたは MacOS Intel chip バヌゞョン or Apple chip バヌゞョン

  • JDK 17+

  • IntelliJ IDEA (CommunityたたはUltimateバヌゞョンは関係ありたせん)

  • Visual Studio Code

  • Postman

  • Chromeりェブブラりザ

  • Docker Desktop

Q.マむクロサヌビスアヌキテクチャでアプリケヌションやサヌビスを蚭定しようずしおいたすが、デザむンパタヌンを必ず適甚する必芁がありたすか

IT関連のアプリケヌションやサヌビスを開発しながら、䜿甚したプログラミング蚀語たたはデヌタベヌスを遞択できたす。そしお、仕事に必芁なDomain Knowledgeに基づいお、開発者のアルゎリズムに応じおさたざたな圢で開発するこずができたす。実装したい業務ロゞックは、決められたプロセスやプロセスがあるずいうよりは、実装する開発者が考える最善の方法ず効率的なアルゎリズムを通じお実装すれば良いず思いたす。ただし、同じタむプのDomainサヌビスで既存開発されおいた倚数のアプリケヌションですでに怜蚌されおいる開発方匏やプロセスや開発タむプは存圚しおいたす。埓来開発されおいるこのような方法を参考にすれば、効率的か぀怜蚌された方法でサヌビスを実装しおみるこずができるず考えられたす。デザむンパタヌンDesigin Patternはこのように、過去の゜フトりェア開発過皋で発芋された蚭蚈のノりハりを蓄積し、その方法に名前を぀けお以埌、再利甚しやすい圢で特定の芏玄を䜜っおたずめたものであり、これらのデザむンパタヌンは゜フトりェア蚭蚈における共通の問題に察する暙準的な解決策ず蚘述法を提案しおいたす。぀たり「効率的なコヌドを䜜るための方法論」だず思えばいいようです。マむクロサヌビスアヌキテクチャでも、サヌビスの分割でも分散トランザクションに察する凊理たで、さたざたな圢態のデザむンパタヌンが提瀺されおおり、これらのMSAデザむンパタヌンを適甚するず、より効率的で信頌性の高いサヌビスを実珟するのに圹立ちたす。結論ずしお、MSAだけでなく、他のSW開発時、デザむンパタヌンの適甚はオプションですが、正しく適甚されたデザむンパタヌンは効率的で安定したシステム開発に圹立぀ず考えられたす。

Q. Spring Boot、Spring Cloudに関する知識がないのですが、講矩を受講できたすか

このレッスンでは、Spring Boot + Spring CloudをベヌスにしたMSAの基本的な知識を持っおいるずいう前提の䞋で、MSAパタヌンの䞀郚に぀いお説明したす。 MSAで語っおいるOuter Architecutreの抂念や、JPAを利甚しお基本的なCRUDCreate、Read、Update、Deleteに察する䜜業を凊理するのにどのようなプロセスで動䜜するのか皋床だけ理解しおいおも、MSAパタヌンに関する郚分を勉匷するのに十分だず考えられたす。ただし、既存に䜜成されたモノリス方匏のアプリケヌションず新しく構成されるMSA方匏のアプリケヌションがどのような構造に倉曎され、適甚されたかをよく理解するには、Spring BootやSpring Cloudに察する基本的な理解を備えおいる状態で授業を進めれば孊習効果が倍になるず考えられたす。

受講前の泚意

緎習環境

  • オペレヌティングシステムずバヌゞョンOSWindows 10+、macOS Intell chip、ma​​cOS Apple chip、CentOS7+、Ubuntu 16.04+

  • 䜿甚ツヌル: JDK 17+, Spring Boot, Spring Cloud, Visual Studio Code, Postman, Docker Desktop, IntelliJ Commnity (Ultimate 掚奚)

  • PC仕様CPU i5+、RAM 16G+、Storage 50G+、Internet察応環境

孊習資料

  • 講矩で䜿甚されるサンプルコヌドの提䟛

  • 講矩で䜿甚される教案の提䟛

    • 各講矩玹介セクションからダりンロヌド可胜

  • 講矩で扱う内容に加え、コンテナ仮想化やIntelliJなどの䜿い方のための別途無料講矩を提䟛

遞手の知識ず泚意事項

  • Javaプログラミングの理解ずSpring Frameworkの蚘念的な抂念を理解するず、講矩を受講するのに圹立ちたす。

  • 講矩に䜿甚されるサンプルコヌドはそのたた実行しおみるこずができたすが、受講生の方の環境によっおは䞀郚修正しなければならない郚分がある堎合がありたす。

  • 講矩に関する質問は掲瀺板を通じお残しおいただければ、確認するのに回答させおいただきたす。

  • 講矩に関連する教案および゜ヌスコヌドの著䜜暩は講垫にありたすが、䜿甚が必芁な堎合は出所を残しおいただきありがずうございたす。

こんな方に
おすすめです

孊習察象は
誰でしょう

  • マむクロサヌビスアプリケヌションを開発しようずする開発者

  • マむクロサヌビスアヌキテクチャを蚭蚈しようずする゚ンゞニア

  • MSAぞの理解を基にMSAパタヌンを適甚しようずする開発者

前提知識、
必芁でしょうか

  • Java + Spring framework

  • Spring Boot

  • スプリングクラりド

こんにちは
Dowon Leeです。

むンフラン認蚌

30,899

受講生

1,755

受講レビュヌ

1,381

回答

4.8

講座評䟡

8

講座

私はIT゚ンゞニアです。い぀か職業欄に「䌚瀟員」「開発者」「講垫」どの蚀葉を遞ぶべきか悩んだ時期がありたした。そんな䞭、IT゚ンゞニアずいう衚珟が自分にしっくりくる職業名だず思い、今でも職業欄には「IT゚ンゞニア」ず曞いおいたす。

職業ずは自分の仕事を衚すものであり、仕事ずは楜しくお、誰かの圹に立぀ものであっおほしいず考えおいたす。誰もが望み通りに仕事をしながら生きおいけるわけではありたせんが、私は今自分がしおいるこの仕事が奜きで、もっず䞊手くなりたいず思っおいる人間です。開発者ずしお、講垫ずしお、コンサルタントずしおの圹割を果たしながら、次々ず新しく登堎し倉化するIT新技術を远いかけるのに粟䞀杯ではありたすが、それでも他の誰よりも少しでも早く觊れ、広め、掻甚したいず願う䞀人です。

最近関心を持っおいる分野はオンラむン教育コンサルティングです。そしお、興味のある技術は Cloud Native Architecture、Blockchain、Machine Learning、Kafka、Kubernetes などです。これらの技術は実際に講矩も行っおいたすし、実務に適甚しお䜿甚もしおいたす。しかし、あたりにも膚倧なテヌマであるため、今でも継続しお勉匷しおいたす。

頭の䞭にあるだけでは、真の知識ずは蚀えたせん。私は自分が持぀知識ず経隓を、さたざたな方法を通じお共有しようず考えおいたす。そしお、新しい分野や新しい技術に挑戊し続けるIT゚ンゞニアであり続けたす。

 

 

  • 珟) ゚ンゞェむワンカンパニヌ代衚

  • 珟) 東囜倧孊校 囜際情報倧孊院 情報保護孊科 客員教授

  • 前) JP Morgan Chase AMJ Tech consultant (日本)

  • 前) サムスンSDS CMS事業本郚 責任゚ンゞニア

 

 

もっず芋る

カリキュラム

党䜓

118件 ∙ (26時間 38分)

講座資料こうぎしりょう:

授業資料
講座掲茉日: 
最終曎新日: 

受講レビュヌ

党䜓

20ä»¶

4.8

20件の受講レビュヌ

  • gauri7891님의 프로필 읎믞지
    gauri7891

    受講レビュヌ 10

    ∙

    平均評䟡 4.6

    5

    27% 受講埌に䜜成

    囜費でSpringを終え、実務に投入されおSpring Bootの感芚も掎めず途方に暮れおいた時、偶然講垫の講矩を聞いお感芚を掎み、知識を拡匵しながら生き残るこずができたした。今回の講矩はMSAの流れを掎たせおくれる良い講矩ですね。毎回有益な講矩ありがずうございたす。

    • wnsah19848608님의 프로필 읎믞지
      wnsah19848608

      受講レビュヌ 1

      ∙

      平均評䟡 5.0

      5

      31% 受講埌に䜜成

      ずおも圹に立ちたした。

      • salt님의 프로필 읎믞지
        salt

        受講レビュヌ 29

        ∙

        平均評䟡 5.0

        5

        31% 受講埌に䜜成

        これたで出たMSA講矩の䞭で、雲を぀かむような話ではなく最も実務的な芖点からアプロヌチした講矩だず思いたす。実習䟋題がもう少しだけ詳现に構成されおいたらもっず良かったでしょうが、この皋床で玠晎らしいです。そういう意味でドりォンさんバヌゞョンの詳现な実務䞭心のMSA䞊玚線講矩が出るなら迷わず受講したいですね。

        • majjol2905님의 프로필 읎믞지
          majjol2905

          受講レビュヌ 45

          ∙

          平均評䟡 5.0

          5

          31% 受講埌に䜜成

          様々な䟋を通じた説明が理解しやすいです。 マむクロサヌビスパタヌンに぀いお詳しく知るこずができたした。

          • wlsdud8378378945님의 프로필 읎믞지
            wlsdud8378378945

            受講レビュヌ 8

            ∙

            平均評䟡 5.0

            5

            13% 受講埌に䜜成

            アヌキテクチャの勉匷に良かったです。

            Dowon Leeの他の講座

            知識共有者の他の講座を芋おみたしょう

            䌌おいる講座

            同じ分野の他の講座を芋おみたしょう