도메인 주도 설계, 헥사고널 아키텍처, 이벤트 기반 아키텍처를 모두 적용한 마이크로서비스 개발 과정을 보여줍니다.
이런 걸
배워요!
마이크로서비스 개발
헥사고널 아키텍처 적용
도메인 주도 설계 개발
이벤트 주도 아키텍처 적용
MSA
강의 하나로 완성하는
마이크로서비스 구현 아키텍처 3대장!
(1) 헥사고널 아키텍처 (2) 도메인 주도 설계 (3) 이벤트 기반 아키텍처를 통해 기술에 유연하면서도 비즈니스 로직에 집중해 유지보수성이 높으며, 의존성이 낮아 독립적으로 배포할 수 있는 마이크로서비스 구현에 대해 알아봅니다.
😥
MSA의 대략적인 개념을 이해하긴 했는데, 막상 어떻게 마이크로서비스로 구현해야 할지 막막해요
🙄
도메인 주도 설계가 헥사고널, EDA와 관련이 있다고 하던데 구현시 어떻게 적용해야 하나요?
😵
도메인 주도 설계 강좌를 듣고 도메인 모델을 설계하긴 했는데 실제로 구현은 어떻게 해야 하는지 막막하네요.
MSA 구조에서 가장 많이 거론되는 도메인 주도 설계, 헥사고널 아키텍처, 이벤트 기반 아키텍처 등에 대해 많은 개발자들이 개념적/이론적으로 많이 접하고 있습니다. 하지만, 막상 실제로 어떻게 적용할까를 생각하면 막막하기 그지없기 마련입니다.
본 강의는 MSA 개념과 아키텍처/설계 방법을 설명했던 이전 강의를 마무리하는 실습 중심 강의로
이전 강의에서 정의한 위의 실습 아키텍처 및 설계 모델을 기반으로 DDD, 헥사고널 아키텍처, EDA를 어떻게 효과적으로 접목할 수 있을지에 대해 실제 코드로 구현하고 설명합니다. 또한 마지막에는 EDA 구현의 현실적 문제인 분산 트랜잭션을 위한 SAGA 패턴도 적용해 봅니다.
도메인 주도 설계
(Domain-Driven Design, DDD)
비즈니스 전략, 도메인 패턴을 중심으로 소프트웨어 아키텍처를 구축하는 개발 방법론
헥사고날 아키텍처
(Hexagonal Architecture)
도메인 중심으로 의존성의 흐름이 외부로 나가지 않도록 관리하는 아키텍처 패턴
이벤트 주도 설계
(Event Driven Architecuture)
확장성이 뛰어난 애플리케이션을 생성하는 데 널리 사용되는 분산 비동기 아키텍처
유연하고 확장성 있는 마이크로서비스 아키텍처를 도입하고자 하는 기술/설계 리더
헥사고널 아키텍처를 마이크로서비스에 적용하고자 하는 마이크로서비스 개발자
도메인 주도 설계(DDD) 및 구현에 관심있는 백엔드 개발자
실습 도메인의 각 마이크로서비스 별 성격, 구성 스펙, 마이크로 서비스 간의 통신 관계를 알아봅시다.
이벤트 기반 아키텍처를 구현하기 위한 필수 요소인 이벤트 브로커의 특징을 설명하고 마이크로서비스 간의 통신을 위해 활용하는 방법을 설명합니다.
헥사고널 아키텍처의 3가지 헥사곤 유형을 설명하고 아키텍처를 적용하기 위한 스프링 부트 패키지 구조를 설명합니다.
전통적인 레이어드 아키텍처(Layered Architecture)의 한계를 극복할 헥사고널 아키텍처(Hexagonal Architecture)를 도메인 주도 설계와 융합하여 구현하는 방식을 설명하고 주요 구성요소를 자세히 알아봅니다.
도서 대여 시스템이란 주제를 가지고 도메인 주도 설계(전술적 설계)로 모델링 한 마이크로서비스 별 도메인 모델을 설명한 다음 실제 코드로 구현해 봅니다.
이벤트 스토밍을 통해 식별된 마이크로서비스간의 비동기 통신 관계를 정리하여 이벤트 흐름으로 설계하고 카프카(Kafka)를 활용해 구현합니다.
마이크로서비스 간의 분산 트랜잭션 문제를 해결하기 위해 대표적인 MSA 패턴인 SAGA 패턴을 카프카 이벤트 브로커를 활용하여 구현해 봅니다.
Q. 강의의 이론: 실습 비율은 어느 정도인가요 ?
본 강의의 이론은 조금이고 대부분 실습으로 구성되었습니다. 이론을 먼저 학습하고 수강하는 것이 바람직하며 ,이론 별로 별도의 관련 강좌를 수강해야 합니다. ^ ^;;
Q. 실무 경험이 없는 취준생 또는 비전공자도 들을 수 있나요?
클라우드 경험이 없더라도 실제 레거시 경험이 있는 중급 수준의 개발자라면 접근할 수 있는 수준입니다. 그러나 실무 경험자라 할지라도 MSA, DDD, 아키텍처에 대한 이해가 있어야 쉽게 접근할 수 있을 겁니다.
Q. 수업 내용을 어느 수준까지 다루나요?
본 강의는 기 제시된 요구사항에 근거한 미리 정의한 아키텍처, 설계 모델을 기준으로 구현에 집중하는 강의입니다. 각 백엔드 마이크로서비스를 개발하고, 마이크로서비스 간의 이벤트 통신까지 구현합니다.
Q. 수업은 어떤 방식으로 진행되고 어떻게 학습하는 것이 좋을까요 ?
가상의 도서 대여 시스템을 중심으로 백엔드 마이크로서비스를 하나하나 같이 구현하는 방식입니다. 수강생은 강사가 개발하는 코드를 보고 함께 개발하는 것이 가장 좋은 방식인 것 같네요. 따라할 만큼 충분히 천천히 진행한답니다. ^ ^ ;;
💾 수강 전 참고 사항
학습 대상은
누구일까요?
도메인 주도 설계 관심 있는 개발자
헥사고널 아키텍처를 적용하고 싶은 백엔드 개발자
아키텍처/설계에 관심 많은 중급 이상 백엔드 개발자
선수 지식,
필요할까요?
java
spring
msa
ddd
현 국내 SI업체 소프트웨어 엔지니어(SA,AA)
다수의 대규모 차세대 프로젝트 개발방법론 및 설계방법 리딩
명지대, 서울과학기술대 클라우드,SW과목 강의
SK C&C,한국정보기술연구원(kitri), LG전자 MSA과정 강의
멀티캠퍼스, 한국표준협회, 한국품질협회 MSA 과정 멘토링,스파로스아카데미 웹개발 과정 멘토링
전문분야 : 개발방법론, 소프트웨어 아키텍처/설계/개발 기법
22년 , 위키북스 "도메인주도로 시작하는 마이크로서비스 개발", 저자
국가평생교육진흥원, K-MOOC "Microservice 설계 및 구현 " 강좌 개발 및 강의
전체
40개 ∙ (10시간 8분)
가 제공되는 강의입니다.
요구사항 및 설계과정 Review
08:37
전체 아키텍처 구성도
07:49
마이크로서비스 별 구현전략
13:48
설계된 도메인 모델 살펴보기
06:48
음질관련 공지
00:37
API테스트 수행
13:18