
Microservice 설계(with EventStorming,DDD)
han jeong heon
마이크로서비스 설계를 위한 도메인 주도 설계(Domain Driven Design)를 쉽게 설명하고, 실제로 활용하기 위한 구체적인 실천 방법을 소개합니다.
중급이상
DDD, MSA, 아키텍처
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,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 설계 및 구현 " 강좌 개발 및 강의
All
42 lectures ∙ (10hr 8min)
Course Materials:
All
24 reviews
4.2
24 reviews
Reviews 4
∙
Average Rating 5.0
Reviews 10
∙
Average Rating 5.0
5
지금까지 개발하면서 구성한 시스템에서 EDA의 사가 패턴이 제대로 구성되어있는지 돌아보게 되었습니다 이 강의는 EDA 뿐만 아니라 어떻게 설계하고, 객체 지향적으로 도메인을 구성해야 되는지, 실전에서 어떤 부분을 헥사고널에서 타협해서 개발할 수 있는지에 대해서 고민을 다뤄서 좋았습니다 하지만 목소리가 너무 잘 안들리고, 강의마다 목소리 크기가 달라서 듣기가 좀 힘들었습니다 추가로 문서와 강의가 다른게 많고, 오탈자가 많아서 수정하면서 힘들었습니다 그렇다고 실제로 동작하지 않는 케이스는 전혀 없었습니다 저는 숙련된 개발자이기에, 어느정도 틀려도 제공해주신 깃헙과 맞춰가면서 수정했지만, 숙련되지 않은 개발자들은 강의를 들으면서 고생 좀 하겠다는 생각이 들었습니다 결론으로 개인적으로는 전반적으로는 너무 좋았기에, 다른 강의도 다 찾아서 들을 예정입니다. 좋은 강의 만들어주셔서 감사합니다
평가 감사합니다. 아 역시 오디오가 문제이군요. ㅠ ㅠ 죄송합니다. 오디오 및 문서 싱크 오탈자에 좀더 신경쓰도록 하겠습니다.🙇♂️🙇♂️🙇♂️
Reviews 50
∙
Average Rating 5.0
Reviews 5
∙
Average Rating 5.0
Reviews 13
∙
Average Rating 4.9
Limited time deal
$74,250.00
25%
$77.00
Check out other courses by the instructor!
Explore other courses in the same field!