Nothing Comes for Free
Scalability and fault tolerance often pose conflicting requirements to the designer
Example: message delivery
- Scalability concerns call for a compact, lightweight encoding of messages, and low overhead of the delivery mechanism, to reduce bandwidth usage
- Fault tolerance protocols augment message size and use more complex communication patterns, often adding network overhead
How to evaluate the tradeoffs?