distributed systems

reading

Essentially everyone, when they first build a distributed application, makes the following eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences.

We argue that objects that interact in a distributed system need to be dealt with in ways that are
intrinsically different from objects that interact in a single address space. These differences are
required because distributed systems require that the programmer be aware of latency, have a dif-
ferent model of memory access, and take into account issues of concurrency and partial failure.