강의

멘토링

로드맵

Programming

/

Back-end

Microservice Implementation (with EDA, Hexagonal, DDD)

Shows a microservice development process that applies Domain-Driven Design, Hexagonal Architecture, and Event-Driven Architecture.

(4.2) 24 reviews

563 learners

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

Reviews from Early Learners

What you will learn!

  • Microservice Development

  • Application of Hexagonal Architecture

  • Domain-Driven Design Development

  • Applying Event-Driven Architecture

  • MSA

Complete in one lecture
The 3 major microservice implementation architectures!

* We are working on improving it, but some videos may have poor audio quality and there may be bugs (typos) in the code. Please let us know if there are any typos or areas for improvement so we can continue to improve.

Learn by seeing actual code
MSA Core 3 Architectures

(1) Hexagonal architecture, (2) Domain-driven design, and (3) Event-driven architecture are used to learn about the implementation of microservices that are flexible in technology, focused on business logic, highly maintainable, and have low dependencies and can be deployed independently.

Oh, are you talking about me?

😥

I understand the general concept of MSA , but I have no idea how to implement it as a microservice.

🙄

Domain-driven design is said to be related to hexagonal and EDA, but how should it be applied during implementation?

😵

I took a domain-driven design course and designed a domain model, but I have no idea how to actually implement it.

Many developers are conceptually/theoretically familiar with the most talked about domain-driven design, hexagonal architecture, and event-driven architecture in MSA architecture. However, when it comes to actually applying them, it can be overwhelming.

This lecture is a hands-on lecture that concludes the previous lecture that explained MSA concepts and architecture/design methods.

Based on the above practical architecture and design model defined in the previous lecture, we will implement and explain with actual code how to effectively integrate DDD, hexagonal architecture, and EDA. In the end, we will also apply the SAGA pattern for distributed transactions, which is a realistic problem in EDA implementation.

3 Hottest Techniques in Microservices Implementation 🌳

Domain Driven Design
(Domain-Driven Design, DDD)

A development methodology that builds software architecture around business strategy and domain patterns.

Hexagonal architecture
(Hexagonal Architecture)

An architectural pattern that manages the flow of dependencies from domain-centric sources to outside sources.

Event Driven Design
(Event Driven Architecture)

A distributed asynchronous architecture widely used to create highly scalable applications.


Only for this lecture
Check out the features 📗

  • I will teach you vivid, raw information based on the experience of a long-time practitioner. 😁
  • We aim for the ideal of hexagonal architecture/domain-driven design, but present an approach that reflects reality.
  • This course focuses on practical implementation of a book rental system using a microservice architecture rather than concepts.
  • We introduce hot on-site standards and judgment(?) techniques applied in actual microservice development .

So, this is helpful for these people! 🏃‍♀️

Technology/design leaders looking to adopt a flexible and scalable microservices architecture

Microservice developers who want to apply hexagonal architecture to microservices

Backend developer interested in domain-driven design (DDD) and implementation


Okay, now let's implement it!
Microservices Development 💻

Understand the implementation architecture through the microservices composition diagram of the practice domain.

Let's learn about the characteristics, configuration specifications, and communication relationships between microservices for each microservice in the practice domain.

Highly available and highly scalable: Event Broker

Describes the characteristics of an event broker, an essential element for implementing an event-driven architecture, and explains how to utilize it for communication between microservices.

Suggesting a direction for implementing hexagonal architecture

Describes the three hexagonal types of hexagonal architecture and explains the Spring Boot package structure for applying the architecture.

Implementing a hexagonal architecture that allows defining the most flexible microservice internal structure

We will explain how to implement a hexagonal architecture that overcomes the limitations of traditional layered architectures by combining it with domain-driven design, and take a closer look at its main components.

Implementing the domain model

We will explain the domain model for each microservice modeled using domain-driven design (tactical design) with the topic of a book rental system, and then implement it with actual code.

Implementing an event-driven architecture

We organize the asynchronous communication relationships between microservices identified through event storming, design them as event flows, and implement them using Kafka.

SAGA implementation

To solve the problem of distributed transactions between microservices, we will implement the SAGA pattern, a representative MSA pattern, using the Kafka event broker.

So, you can do something like this! 😎

  • Learn how to apply hexagonal architecture to develop backend applications.
  • You will understand how the domain model, the main deliverable of domain-driven design, and the hexagonal architecture are integrated.
  • You can develop the most scalable event-driven asynchronous communication microservices.
  • You will be able to understand and implement the SAGA pattern for distributed transactions, a hot topic among microservices.

In this lecture
Knowledge sharer is 💁‍♂️

23-year developer, han jeong heon

  • Current SI software engineer at a large corporation
  • Leading development methodology and design method for multiple large-scale next-generation projects
  • Lectures on SW courses at Myongji University and Seoul National University of Science and Technology, Korea Information Technology Research Institute (KITRI), and LG Electronics MSA course
  • Multicampus, Korea Standards Association, Korea Quality Association MSA Course Mentoring
  • Areas of expertise: Development methodology, software architecture/design/development techniques
  • Wikibooks “Microservice Development Starting with Domain-Driven Design” (2022)
  • National Institute for Lifelong Education K-MOOC “Microservice Design and Implementation” Course
Development of “Microservice Design and Implementation” course
Author of “Microservice Development Starting with Domain-Driven Design”

Q&A 💬

Q. What is the theory:practice ratio of the course?

This lecture has little theory and mostly consists of practice. It is recommended that you learn the theory first and then take the course. You should take separate related courses for each theory. ^ ^;;

Q. Can job seekers without work experience or non-majors also take the course?

Even if you don't have cloud experience, it's an approachable level for intermediate level developers with actual legacy experience. However, even for those with practical experience, it will be easy to approach if you have an understanding of MSA, DDD, and architecture.

Q. What level of content is covered in the class?

This lecture focuses on implementation based on a predefined architecture and design model based on the requirements presented. Each backend microservice is developed and event communication between microservices is implemented.

Q. How are the classes conducted and what is the best way to learn?

This is a method of implementing backend microservices one by one, centered around a virtual book rental system. I think the best way is for students to watch the code developed by the instructor and develop together. It proceeds slowly enough for them to follow along. ^ ^ ;;

Great lectures to watch together 📺

💾 Things to note before taking the class

  • Due to the recording conditions of the lecture , the sound quality may be uneven depending on the class environment. Please be sure to check the [Preview] class before taking the class.

Recommended for
these people

Who is this course right for?

  • Developers interested in Domain-Driven Design

  • Backend developer who wants to apply Hexagonal Architecture

  • Mid-level or higher backend developer with a strong interest in architecture/design

Need to know before starting?

  • java

  • spring

  • msa

  • ddd

Hello
This is

2,654

Learners

162

Reviews

54

Answers

4.6

Rating

3

Courses

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

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

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

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

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

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

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

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

Curriculum

All

42 lectures ∙ (10hr 8min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

24 reviews

4.2

24 reviews

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

    Reviews 4

    Average Rating 5.0

    5

    100% enrolled

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

      Reviews 10

      Average Rating 5.0

      5

      100% enrolled

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

      • han jeong heon
        Instructor

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

    • 개foot님의 프로필 이미지
      개foot

      Reviews 50

      Average Rating 5.0

      5

      31% enrolled

      와.... 진짜 완벽한 강의...

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

        Reviews 5

        Average Rating 5.0

        5

        31% enrolled

        • princekey님의 프로필 이미지
          princekey

          Reviews 13

          Average Rating 4.9

          5

          62% enrolled

          Limited time deal

          $74,250.00

          25%

          $77.00

          han jeong heon's other courses

          Check out other courses by the instructor!

          Similar courses

          Explore other courses in the same field!