Particular / docs.particular.net

All content for ParticularDocs
https://docs.particular.net
Other
103 stars 301 forks source link

Feedback: 'Transactions and delivery guarantees' #4793

Open TraGicCode opened 4 years ago

TraGicCode commented 4 years ago

Feedback for 'Transactions and delivery guarantees' https://docs.particular.net/transports/rabbitmq/transactions-and-delivery-guarantees

Location in GitHub: https://github.com/Particular/docs.particular.net/blob/master/transports/rabbitmq/transactions-and-delivery-guarantees.md

Can there be something added that talks about outgoing messages (send/publish) do not participate in the incoming messages transaction. Therefore it's possible that outgoing messages could get delivered multiple times (at-least-once guarantees)?

ramonsmits commented 4 years ago

@TraGicCode WOuld the information from https://docs.particular.net/transports/transactions#transactions-transport-transaction-receive-only help? I do like your sentence so I'll check what I can do.

TraGicCode commented 4 years ago

I think that is fine but there should be some callout talking about duplicate messages can be sent out so just be aware of it. Right now someone with less experience with rabbitmq would most likely be unaware that this is a possibility. What do you think?

ramonsmits commented 4 years ago

Can there be something added that talks about outgoing messages (send/publish) do not participate in the incoming messages transaction. Therefore it's possible that outgoing messages could get delivered multiple times (at-least-once guarantees)?

@TraGicCode I've given it some thought and any details should be on the transactions page to which the page is already pointing.

How about we promote the outbox for reliability and consistency on docs.particular.net/transports/rabbitmq/transactions-and-delivery-guarantees at the top?

TraGicCode commented 4 years ago

my main goal of this issue was spreading some knowledge and visibility on the fact that the receive-only transactions are susceptible to sending the same message multiple times and make it clear to users that are diving in and new to messaging.

The extra bit about using outbox or just ensuring handlers are idempotent could be some extra sugar added on top to lead developers to a direction that prevents all kinds of unknown issues cropping up on their end leaving them scratching their heads.