The map
- Not started
- In progress
- Done
- Builds on
- 01From source to binaryThe toolchain, modules, the runtime0/2
- 02Values and typesSlices, maps, interfaces, errors, generics0/4
- 03MemoryStack or heap, and the collector0/2
- 04Many things at onceGoroutines to an HTTP server0/5
- 05Next: system designSame ideas, at service scale
- TimeoutLibrary ↗context.WithTimeout on every outbound call is the timeout pattern written into the standard library. Pass the deadline on, don't invent a new one per hop.
- BackpressureLibrary ↗A buffered channel is a bounded queue: when it is full, the sender waits. That is backpressure inside one process; the pattern applies the same idea between services.
- BulkheadLibrary ↗A fixed pool of worker goroutines, or a semaphore channel per dependency, keeps one slow backend from using up every goroutine and connection you have.
Everything here is about the gc toolchain (the go command from go.dev) and Go 1.23 or later. The examples were run with Go 1.26; where a behaviour arrived in a specific release (range over integers in 1.22, WaitGroup.Go in 1.25, errors.AsType and the Green Tea collector by default in 1.26, generic methods in 1.27), the topic says so.