Maintain Composition Through Uncertainty

External services such as databases or network requests can unexpectedly slow down or fail; well-meaning users can make mistakes; malicious users can try to cause mischief with inputs shaped to attack our systems.

Though Elixir programmers depend on pipes, dealing with errors midstream in piped compositions is awkward and unreliable. As we build our boundary, we will need strategies for maintaining a composable architecture through this uncertainty.

Because our services may struggle under load, we may need to use back pressure, a technique to slow requests to those services under duress. Since the data will come from untrusted sources we must consider validations as we wrap our functional core in an ...

Get Designing Elixir Systems With OTP now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.