#Backpressure
4 notas · última:
Building Distributed Systems in Elixir: Part 9 — Backpressure
The article shows how unbounded BEAM mailboxes can grow into OOM risk, then compares stop-and-wait acknowledgment with demand-driven windowing as two ways to keep producer and consumer in balance.
Building Distributed Systems in Elixir: Part 7 — Worker Pool
The article builds a worker pool from raw Elixir process primitives to keep concurrency bounded, queue excess jobs, and let workers pull new work only when they become available.
Leverage Concurrency Efficiently When Managing Multiple Tasks in Elixir
Builds from Task.start and Task.async to Task.async_stream, showing why one process per item breaks at scale and how max_concurrency, ordering, and timeouts trade off against each other.
Building robust distributed systems
The article argues that resilient distributed systems reduce inter-component coupling, isolate errors with SLAs and fallbacks, and add buffers such as asynchronous communication and extra capacity.
