Strategy for messages that must be delivered in order in Rebus -
Strategy for messages that must be delivered in order in Rebus -
i'm using rebus sqltransport xml serialized messages integration sql server. messages represent changes done in sql server. because of order of message delivery essential.
it because illustration message1 may contain object referenced (by id) in message2. illustration message1 may contain remove request of object required take new object message2.
aggregating messages 1 message quite complicated because messages generated triggers.
having message idempotence , 1 worker guess work except fact won't work if error happens , message moved error queue. error quite possible happen because of validation or business logic exception. because of believe human can prepare problem message , until time other messages should not delivered. wanted inquire advice best in situation. far saw retry number cannot set infinity should stop service within of handler until problem solved human?
thanks in advance
if it's of import messages processed in order without "holes", suggest assign sequence number each message.
this way, if endpoint gets message sequence number greater expected sequence number can throw exception, preventing out-of-order messages processed.
i if errors uncommon though, , if message volume small.
if in-order processing required, much improve design utilize message processing library supports pull model, think fit scenario much improve rebus' push model.
rebus
Comments
Post a Comment