Comparison
Deadline propagationvsTimeout
Deadline propagation
you pass the remaining time budget down with the request so a service four hops deep knows there is no point starting.
Carrying an absolute deadline through a call chain so every hop knows how long the overall request has left. It stops work that can no longer be delivered, which is what turns a latency spike into wasted capacity otherwise. Without it, each layer's independent timeout multiplies and the total can exceed what the client is willing to wait many times over.
Full entry →Timeout
you give up on the call after two seconds instead of holding the thread open until the other side eventually answers or does not.
A bound on how long you will wait for an operation. It is the most under-set value in most codebases: many clients default to no timeout at all, which converts a slow dependency into an exhausted connection pool and a full outage. Every network call needs one, and it should be smaller than the caller's own deadline.
Full entry →