
Microservice Design (with EventStorming, DDD)
han jeong heon
This is a simple explanation of Domain Driven Design for microservice architecture, along with specific practical methods for real-world application.
중급이상
DDD, MSA, Architecture
Shows a microservice development process that applies Domain-Driven Design, Hexagonal Architecture, and Event-Driven Architecture.

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!
(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.
😥
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.
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.
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
Let's learn about the characteristics, configuration specifications, and communication relationships between microservices for each microservice in the practice domain.
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.
Describes the three hexagonal types of hexagonal architecture and explains the Spring Boot package structure for applying the architecture.
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.
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.
We organize the asynchronous communication relationships between microservices identified through event storming, design them as event flows, and implement them using Kafka.
To solve the problem of distributed transactions between microservices, we will implement the SAGA pattern, a representative MSA pattern, using the Kafka event broker.
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. ^ ^ ;;
💾 Things to note before taking the class
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
2,750
Learners
183
Reviews
55
Answers
4.6
Rating
3
Courses
현 국내 SI업체 소프트웨어 엔지니어(SA,AA)
다수의 대규모 차세대 프로젝트 개발방법론 및 설계방법 리딩
명지대, 서울과학기술대 클라우드,SW과목 강의
SK C&C,한국정보기술연구원(kitri), LG전자 MSA과정 강의
멀티캠퍼스, 한국표준협회, 한국품질협회 MSA 과정 멘토링,스파로스아카데미 웹개발 과정 멘토링
전문분야 : 개발방법론, 소프트웨어 아키텍처/설계/개발 기법
22년 , 위키북스 "도메인주도로 시작하는 마이크로서비스 개발", 저자
국가평생교육진흥원, K-MOOC "Microservice 설계 및 구현 " 강좌 개발 및 강의


All
42 lectures ∙ (10hr 8min)
Course Materials:
14. Audio Quality Notice
00:37
20. API testing
13:18
All
28 reviews
4.3
28 reviews
Reviews 4
∙
Average Rating 5.0
Reviews 12
∙
Average Rating 5.0
5
I looked back to see if the EDA saga pattern was properly configured in the system I had developed so far. This lecture was good because it covered not only EDA, but also how to design and configure the domain in an object-oriented manner, and what parts can be compromised and developed in a hexagonal manner in practice. However, the voice was too hard to hear, and the volume of the voice was different for each lecture, so it was a bit difficult to listen. In addition, there were many differences between the documents and lectures, and there were many typos, so it was difficult to correct them. However, there were no cases where it actually did not work. Since I am an experienced developer, I corrected it by matching it with the GitHub provided, even if it was a little wrong, but I thought that inexperienced developers would have a hard time listening to the lecture. In conclusion, I personally liked it overall, so I plan to find and listen to other lectures. Thank you for making such a great lecture.
Thank you for your review. Ah, the audio is the problem. ㅠ ㅠ Sorry. I will pay more attention to audio and document sync typos. 🙇♂️🙇♂️🙇♂️
Reviews 69
∙
Average Rating 4.9
Reviews 4
∙
Average Rating 4.5
Reviews 1
∙
Average Rating 5.0
Limited time deal ends in 6 days
$74,250.00
25%
$77.00
Check out other courses by the instructor!
Explore other courses in the same field!