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

Popular posts from this blog

Delphi change the assembly code of a running process -

json - Hibernate and Jackson (java.lang.IllegalStateException: Cannot call sendError() after the response has been committed) -

C++ 11 "class" keyword -