Experiments

Experiments

Saga for DSL with NServiceBus

When dealing with processes that can potentially span hours, days and even months going with full ACID transactions is unpractical, because of internal locks. To model such interactions saga pattern is used. Saga breaks the interaction with the system into a series of small transactions and manages the consistency through timeouts and compensations. Saga relaxes Atomicity and Isolation requirements to achieve greater scalability. Service bus frameworks (such as NServiceBus) have saga support out of the box. Most of the frameworks (NServiceBus, MassTransit and Rhino Service Bus) infer which messages saga orchestrates by static analysis of saga types. For example the following is...

posted @ Monday, November 16, 2009 8:38 PM | Feedback (0)