Please enable JavaScript.
Coggle requires JavaScript to display documents.
Why messaging? - Coggle Diagram
Why messaging?
One-way, fire and forget
everything is build on top of that
each message has to have ID
deduplication od messages on receiving side
sends and keep working
Fault tolerance
when server crash
when databases are down
when deadlocks occur in database
Performance, messaging vs RPC
RPC (remote procedure call)
threads are allocated with load
when method is invoked the memory for it execution is held and GC cant free it up, once we get response from another service it can already be in OLD GEN and GC won't address it in some time (potentially we can have memory leak)
GC starts suspending thread in order to clean up some memory of OLD GEN objects
domino effect
messaging
threads are independant
some things are async by default (by nature)
Service interfaces vs strongly types messages
multiple handlers per message (versions etc)
Auditing
connecting messages with header "related to" so we can trace the graph of the process
Why messaging?
Web service invocation