Skip to content

Arch Forum 2023-12-14

Participants: Backend developers, EMs, Andy, Victor

Agenda

  • Design principles

Notes

This week, we looked at high level design principles, that we do microservices, what their responsibilities are etc. Nothing new, but a collection of what we already do (most of the time). These are now collected on the wiki at Design Principles.

A couple of the points created some discussion and requires more thought:

  • An Area should be responsible for a subdomain. Arguably this means that for example the MF-Bank division of Remittance is not useful.
  • We prefer events, and an Area can store copies of data owned by others. But when can we 'cheat', if a value is needed very seldom cant a REST call work?
  • We should avoid too granular events, i.e. a CardChangeEvent is better than smaller events for each thing that can change. However, when we do this the publisher might need to fetch additional data from db to fill in the event, and a receiver might not easily know which exact property that changed.