liveBook · Manning

Resilience

As explained in Go in Practice, Second Edition

Fault tolerance is the ability of a system to continue operating or recover when components or operations fail.

Resilience keeps network operations useful when connections fail: detect faults, report them, retry recoverable operations, or log failures for alerting. section 11.1.2

A practical HTTP resilience strategy combines:

  • Detecting explicit and implicit timeouts across net, http, url, and related error types. section 11.1.2

Resumable download

A Go download helper creates a GET request, inspects the destination file, resumes from its current size, applies a five-minute client timeout, and retries timed-out requests.

How Go in Practice, Second Edition covers it

How deep it goes
Classifies several timeout forms and implements bounded recursive retries with resumable downloads, without covering broader failure policies.
Examples
Uses a timeout classifier, an HTTP request, a resumable file download, and a five-minute HTTP client timeout.
What it assumes
Assumes HTTP connections and Go error handling while distinguishing timeout behavior across standard networking packages.
What you can do after
Builds Go HTTP operations that detect timeout errors, resume downloads, retry bounded failures, and report unrecoverable errors.
How it connects
Connects timeouts with retries, HTTP connections, error handling, logging, and alert systems.

Also explained in

Compare how 13 books explain resilience →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Go in Practice, Second Edition. The section links point to the parts of the book it draws on.