Skip to main content

Understanding flows

Flows allows you to document interactions between services and messages. Flows give you the ability to document event-driven architecture choreography.

An example of a flow would be when a user makes a payment to an e-commence system, this interaction triggers many parts of the architecture (services, external services, commands, queries and events):

  1. User requests to make payment (e.g MakePayment Command)
  2. Command is sent to Payment Service (e.g Payment Service)
  3. Payment service will either accept or reject payment (e.g PaymentAccepted / PaymentRejected events)
  4. Notification service listens to these events and sends Emails (e.g EmailSent Event)
  5. User will be notified of payment success/failure

Many businesses have workflows and features that could be documented.

Example​

Example

You can see a payment flow example here.