Fuse is an Erlang implementation of the Circuit Breaker pattern. It is a small tool which can sit between your Erlang system and dependent systems which exhibit cascading failures. The purpose of fuse is to improve your systems handling of failures with more grace than normal.
We present an overview of why and how to use the tool, and we present the internal workings and design considerations. Furthermore we touch on how Erlang Quickcheck was used as a driving vehicle for development.
Talk objectives:
- Hopefully the audience can adapt and use fuse right after the talk. It will hopefully be helpful since it removes a number of worrisome problems for Erlang developers.
Target audience:
- Erlang developers who are using other fragile and brittle systems.
SlidesWhen your system is finished and deployed, the maintenance period for the system starts. This is by far the most time-expensive part of running a system. Bugs are more costly to fix. Errors slowly crawl into existence when the system is tried under a real workload.
Erlang can be a bliss to maintain in large environments—provided you know what you are doing. This tutorial is about system maintenance for real Erlang systems in production. What applications to include into your system. What to look out for. And how to approach trouble. The key idea is to have a self-healing system that will get itself through the night so you can get your sleep and handle the trouble the next morning. And to have load supervision so the system doesn't break down from overload.
Tutorial objectives:
- Basics of handling Erlang systems
- Using recon for live tracing on running systems
- Using the folsom/exometer application for adding metrics to your system
- Using fuse to handle cascading dependencies
- Using safetyvalve to limit system parallelism and controlling resource usage
Tutorial audience:
This tutorial is targeted toward beginners leaning toward intermediate users. The goal is to provide the audience with an overview of different tools enabling better handling of error cases.
Slides
GitHub:
jlouis
Twitter:
@jlouis666