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.
Author(s): Bruce Tate
Edition: 1.0
Year: 2022
Language: English
Pages: 99
Tags: elixir, otp
Preface
1. A Basic Handmade Server
Build a Server with a Process
Build the Boundary Layer
Build an OTP Server, with Mix
Your Turn
2. Communication Between Servers
Anatomy of a GenServer
handle_info Processes Nonstandard Messages
Schedule an Alarm with handle_cast
Implement a Status Message with handle_call
Your Turn
3. The Lifecycle and Supervision
The Primitive Mechanisms
OTP Supervisors Manage GenServer Lifecycles
Add Some Children
Lifecycle Policy
Your Turn
4. The Power of a Name
Add Dynamic Characters to SuperDuper
Dynamic Children
Dynamic Supervisors
The Process Registry: The Power of a Name
Your Turn
Bibliography