OTP is the heart of the rapidly growing Elixir, the functional language at the heart of Phoenix and LiveView. OTP enables exciting concurrent applications with among the best reliability properties in the world. With this book, you'll learn to code systems that can detect failure and recover from it automatically using the same techniques behind the world's telecommunication systems. By plugging into OTP, your own libraries will handle concurrent requests robustly, and seamlessly integrate with other supervised Elixir and Erlang applications. If you're looking to take your next step as an Elixir developer, look no further than OTP.

OTP is a library for building fault tolerant systems with self-healing properties; its services power many of the world's reliable telecom infrastructure. It also powers many of Elixir's most powerful capabilities. In this fast-paced book - first published with Groxio's Programmer Passport - you'll learn about the most important abstractions that power OTP. This approachable guide will give you a high-level understanding before diving into individual details. This understanding will tell you how the core APIs work so you'll know why Elixir programmers write code the way they do.

To start, this guide will walk you through building your own basic service that works in the same way as OTP's foundational GenServer. This quick exercise will gently ease you into the way GenServers work. You'll build your own GenServer, and then quickly move on to adding the supervision services to enable the reliability and self-healing properties that make Elixir famous. Once you've done so, you'll add features like a dynamic supervisor, and use a process registry to make your program more flexible and dynamic.

What You Need:

You'll need Elixir version 1.12 or greater.

Find out what Groxio customers already know. The assistance of an experienced guide will help you learn how to use OTP to build reliable, highly concurrent systems more quickly than you could without one.

Table of Contents

  1.  Preface
  2. 1. A Basic Handmade Server
  3. 2. Communication Between Servers
  4. 3. The Lifecycle and Supervision
  5. 4. The Power of a Name
  6.  Bibliography