Messaging Worksohop

The plan

  • Why messaging
  • Let's build some message handlers
  • Collaborative domain
  • Let's build some sagas

Why messaging?

You can't make reliable systems using single computer. Which means distributed systems.

Why messaging?

Request/Response is just a one way to do messaging

Temporal Coupling

implicit relationship between two, or more, members of a class requiring clients to invoke one member before the other

Task

TODO:

 

 - Simple thing where the order matters

- what to do in case if there's a dependency

 - Out-of-order delivery

Collaborative domain

The collaboration of different parties within the same process in which independent decisions possible.

CRUD

Aggregates, DDD, Event Sourcing, Saga...

User Profile

Patient demographics*

Practice settings

Video Call

Scheduling

Shared Services*

Collaborative domain

Commands should not fail

Saga Design

Order a ride in uber