Fri Feb 8 11:38:32 EST 2019

distributed systems

As long as the system does not need to be robust against network
partitions, use a hub-and-spokes model.  This is one of the most
important overarching design decisions.

I currently do not have any code that needs this robustness apart from
a disconnected laptop.

Hub-and-spokes still allows some partitioning of the leaf nodes, but
it creates a central point of failure in the hub.  This is usually OK
for embedded systems.