I am working on an enterprise system in which I want to replicate data from one bounded context (source) into another bc (destination). I definitely want to store the data in the destination bc, rather than fetch it when required as the volume of data is high.
I have reviewed many messaging patterns, but am struggling to decide between document message and message enrichment.
Document message - when event occurs in source send the whole message to the destination via broadcast over service bus. Pros: simple, destination is decoupled from source. Cons: message size.
Message enrichment - send message containing entity id and link back to the source data via broadcast over service bus. Pros: lite message. Cons: destination more coupled to source (although mitigated via link in payload), synchronous call required back to source to get the data.
Are there any other considerations I should be aware of here? I have read that large messages over service bus is a bad thing. But how big is bad?? And why is it that bad? There is a limit of 256kb per message on Azure Service Bus, but my messages would be maximum 1kb.
Any help would be greatly appreciated... Thanks.