Mastering Concurrency & OTP in Elixir¶
By Building a Distributed Key-Value Store.
Welcome to this course, this course is all about mastering the concurrency framework offered by Elixir
and the underlying Erlang Virtual Machine (Beam)
.
Introduction¶
We are going to start small, right from the basics and build all the way to creating, testing and releasing our application across various nodes on our network.
Throughout this course we are going to take the Key-Value
store from the official Elixir
documentation and take a deep dive into each concept one at a time.
I think this would be really helpful, as now you can have all the documentation as reference and also watch me code and explain everything on screen at the same time.
Topics Covered¶
- Process
- Concurrency Model
- Agents
- Genservers
- Supervisors
- Dynamic Supervisors
- ETS
- Application
- Umbrella Project
- Tasks
- Testing
- Release
Audience¶
This course is meant for someone who understands basic Elixir or has taken my earlier free course Functional Programming in Elixir.
If you are a completely new to Elixir, then I would not recommend taking this course directly, at the same time you do not need to be expert in Elixir to take this course, however some understanding of Elixir is required to follow on with this course.
Links¶
- Course - Mastering Concurrency & OTP in Elixir
- Github - KV Umbrella
- Github - KV Store
- Website - www.octallium.com
- YouTube - https://www.youtube.com/@octallium
- @octallium
Design¶
# Registry -> PID(0.100.0)
{
%{ # Names
"shopping" => PID(0.200.0)
},
%{ # Refs
REF1234: "shopping"
}
}
# Bucket -> PID(0.200.0)
# Ref -> 1234
%{
"milk" => 1,
"eggs" => 2
}