도메인 주도 설계 구현편에 해당하는 내용으로
DDD(Domain-Driven Design)를 학습하고
액터모델을 이용하여 도메인 이벤트 구현에 도전하는 문서입니다.
참고 문서및 소스
DDD의 기본 컨셉 설명은 닷넷코어를 통한 MS 공식문서에 잘 정리되어 있습니다.
다양한 진영의 코드를 비교하면서 보는것은 도움될수 있습니다.
DDD는 언어/프레임워크에 종속없는 컨셉이기때문입니다.
- MS제공 기본컨셉(닷넷코어) https://docs.microsoft.com/ko-kr/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/domain-events-design-implementation
- DDD with akka.net : https://petabridge.com/blog/how-to-design-akkadotnet-domain-messages/
- DDD with akka(scala) : scala https://medium.com/bestmile/domain-driven-event-sourcing-with-akka-typed-5f5b8bbfb823
- DDD with Spring Boot(JAVA) : https://www.baeldung.com/spring-data-ddd
- DDD 모음집 : https://github.com/ddd-cqrs-es
참고서적
- http://www.yes24.com/Product/Goods/25100510 : 도메인 주도 설계(JAVA 버전)
- http://www.yes24.com/Product/Goods/93384475 : 도메인 주도 설계 철저 입문(닷넷버전)
- https://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791161752747&orderClick=JAj : 아카를 이용한 마이크로 서비스 개발
참고링크
- http://pkaczor.blogspot.com/
- https://github.com/pawelkaczor/akka-ddd
- https://doc.akka.io/docs/alpakka/current/index.html
- https://alpakka.getakka.net/
닷넷코어+Akka.net DDD 적용하기 - 연습및 정리중
도메인 이벤트에 , 액터모델에 적용하려는 이유는 심플합니다. 도메인 이벤트를 원격으로 처리하기 용이하며
PUB/SUB을 위해 별도의 큐 시스템이 추가로 필요하지 않습니다.(KAFKA,래빗MQ등) 필요하면 클러스터화된 액터시스템에 단일지점 병목이 없는 분산처리가능한 이벤트 전송이 가능하기 때문입니다.
하지만 외부 큐 시스템을 이용하지 않겠다란 것이 아닙니다. AKKA에 포함된 스트림은 Reactive를 준수하는 그 어떠한 시스템과 잘 연동되어 활용할수 있습니다.
컨셉정리
- Netcore DDD+AKKA
- DDD : 아는만큼 정리한 DDD 컨셉들