docs.particular.net icon indicating copy to clipboard operation
docs.particular.net copied to clipboard

Consider documenting "shared session/transaction" concept

Open timbussmann opened this issue 2 years ago • 0 comments

Many transports either have shared transactions or even shared sessions when using Sagas or the Outbox. While there are some persistence specific parts, e.g.

  • https://docs.particular.net/persistence/mongodb/#transactions-shared-transactions
  • https://docs.particular.net/persistence/ravendb/#shared-session
  • https://docs.particular.net/persistence/cosmosdb/transactions
  • https://docs.particular.net/persistence/dynamodb/transactions

there might be value explaining the concept behind this, e.g. via a diagram like this:

sequenceDiagram
    Queue->>NSB: ReceiveMessage
    NSB->>Storage: Open session
    NSB->>Application: Invoke message handler
    Application->>Storage: Store business data
    Application-->>NSB: message handler finished
    NSB->>Storage: Store workflow/outbox data
    NSB->>Storage: Commit transaction
    NSB-xStorage: Close session
    NSB-->>Queue: Ack message

timbussmann avatar Aug 11 '23 16:08 timbussmann