하나의 제한된 컨텍스트 (소스)에서 다른 bc (대상)로 데이터를 복제하려는 엔터프라이즈 시스템에서 작업하고 있습니다. 데이터의 양이 많을 때 필요한 경우 데이터를 가져 오지 않고 대상 BC에 데이터를 저장하려고합니다.문서 메시지 대 메시지 풍부화
많은 메시징 패턴을 검토했지만 문서 메시지와 메시지 내용을 결정하는 데 어려움을 겪고 있습니다.
문서 메시지 - 원본에서 이벤트가 발생하면 전체 메시지를 서비스 버스를 통한 브로드 캐스트를 통해 대상으로 보냅니다. 장점 : 단순한 목적지는 소스와 분리되어 있습니다. 단점 : 메시지 크기
메시지 강화 - 엔티티 ID와 링크를 포함하는 메시지를 서비스 버스를 통한 브로드 캐스트를 통해 소스 데이터에 다시 보냅니다. 장점 : 라이트 메시지. 단점 : 소스에 더 많이 결합 된 대상 (페이로드의 링크를 통해 완화되었지만) 데이터를 가져 오기 위해 소스로 다시 동기화 요청이 필요합니다.
여기에서 알아야 할 다른 고려 사항이 있습니까? 나는 서비스 버스를 통해 큰 메시지가 나쁜 것임을 읽었습니다. 그러나 얼마나 큰가? ?? 왜 그렇게 나쁜거야? Azure Service Bus에는 메시지 당 최대 256kb의 제한이 있지만 메시지는 최대 1kb입니다.
도움을 주시면 감사하겠습니다 ... 감사합니다.
메시지가 너무 작 으면 (예 : Azure Service Bus) 문제가 발생하지 않습니다. 그것은 당신이 만들고 살아야 할 건축상의 결정입니다. 예를 들어, 원산지 시스템이 당신이 떨어져 나가고 싶은 단분자단이라면, 예를 들어 이벤트 기반 (문서 메시지)으로 갈 것입니다. BTW, 최대 메시지 크기는 [claim check pattern] (http://www.enterpriseintegrationpatterns.com/patterns/messaging/StoreInLibrary.html)을 통해 해결할 수 있습니다. 일반적으로 [외부 저장소] (https://www.nuget.org/packages/servicebus.attachmentplugin)를 사용합니다. –