
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.
Intermediate
DDD, MSA, Architecture
Shows a microservice development process that applies Domain-Driven Design, Hexagonal Architecture, and Event-Driven Architecture.
606 learners
Level Intermediate
Course period Unlimited

Reviews from Early Learners
5.0
웃자
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.
5.0
개foot
Wow.... This is truly a perfect lecture...
5.0
돌멩이
Thank you for the great lecture!
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,782
Learners
190
Reviews
57
Answers
4.6
Rating
3
Courses
Current domestic SI company software engineer (SA, AA)
Led development methodologies and design methods for numerous large-scale next-generation projects
Lectured on Cloud and SW subjects at Myongji University and Seoul National University of Science and Technology
Lectured on MSA courses at SK C&C, Korea Information Technology Research Institute (KITRI), and LG Electronics
Mentoring for MSA courses at Multicampus, Korean Standards Association, and Korea Management Association; mentoring for the web development course at Spharos Academy.
Areas of Expertise: Development Methodologies, Software Architecture/Design/Development Techniques
2022, Wikibooks "Microservices Development Starting with Domain-Driven Design", Author
Developed and lectured the "Microservice Design and Implementation" course for K-MOOC, National Institute for Lifelong Education.


All
42 lectures ∙ (10hr 8min)
Course Materials:
14. Audio Quality Notice
00:37
20. API testing
13:18
All
30 reviews
4.3
30 reviews
Reviews 4
∙
Average Rating 5.0
Reviews 13
∙
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 3
∙
Average Rating 5.0
Reviews 2
∙
Average Rating 5.0
Reviews 111
∙
Average Rating 4.9
$77.00
Check out other courses by the instructor!
Explore other courses in the same field!