Dual writes are the naive way to communicate information to multiple recipients: the data source explicitly communicates the information to each destination.

This has two serious corruption opportunities:

  • Race condition if two processes are both updating the same target
  • One request may fail while the other succeeds

A preferred solution is to provide a single source of truth, such as a persistent message broker capturing a change log, possibly with a compacted state snapshot cached for performance.