본문 바로가기
DDD

[Domain Event] MQ, 결과적 일관성

by kooangelo 2024. 9. 2.
세상에는 사용할 수 있는 수많은 메시징 컴포넌트가 존재하고, 일반적으로 이는 미들웨어로 분류된다. 

액티브MQ ActiveMQ, 래빗MQ RabbitMQ, 아카 Akka, N서비스버스 NServiceBus, 매스트랜짓 MassTransit 등과 같은 오프소스에서부터 상용 라이선스 제품까지 수많은 옵션이 있다. 
...
바운디드 컨텍스트 사이에서 사용하는 모든 메시징 메커니즘을 사용하기 위해선 결과적 일관성을 달성하려는 의지가 필요하다. 이는 포기할 수 없는 부분이다.
하나 이상의 다른 모델이 변경되도록 영향을 미치는 어떤 모델의 변경은 일정 시간이 흐르기 전에는 완전한 일관성을 달성하지 못한다.
더 중요한 점은, 개별 시스템으로의 트래픽과 해당 시스템이 다른 시스템에 미치는 영향에 따라 시스템 전체가 완전한 일관성을 달성하지 못하는 상황이 발생할 수도 있다는 점이다

 - Implementing Domain-Driven Design 도메인 주도 설계 구현, 반 버논 p398