I’ve been reading the documentation about the Outbox feature, and two sentences caught my eye and left me with some uncertainty.
In the description about Phase 2 step 2 it says:
“If processing fails at this point, duplicate messages may be sent to the queue. Any duplicates will have the same MessageId
, so they will be deduplicated by the outbox feature (in phase 1, step 2) in the endpoint that receives them.”
and then a few paragraphs further down it basically repeats it:
“As long as the receiving endpoints use the outbox feature, these duplicates will be handled by the deduplication in phase 1, step 2.”
But what does this actually mean - do all endpoints need to use Outbox for it to work properly?
My original understanding was that it’s only necessary to enable in the endpoint needing the atomicity of keeping business data and message sending transactional. But it seems that endpoints receiving messages from an Outbox-enabled endpoint should also have Outbox enabled. Or am I misunderstanding the documentation?