Fallacies of Distributed Computing Explained^*
The network is reliable
“Murphy will make sure it happens in the most inappropriate moment.”
**infrastructure side: redundancy
**software side: communication medium; retry
Latency is zero
“It will always take at least 30 milliseconds to send a ping from Europe to the US and back, even if the processing would be done in real time.”
You’d want to move as much data out in each of this calls.
Bandwidth is infinite
The network is secure
Topology(布局) doesn’t change
“In short, topology is changing constantly.”
Try not to depend on specific endpoints or routes.
Another strategy is to abstract the physical structure of the network.
There is one administrator
Transport cost is zero
“we have to do marshaling (serialize information into bits) to get data unto the wire.”
The network is homogeneous.