axelson

axelson

Scenic Core Team

2) ElixirConf US 2018 – Elixir at a Walking Pace – Lance Halvorsen

Hey folks, beginning to post today’s round of ElixirConf videos!

ElixirConf US 2018 – Elixir at a Walking Pace – Lance Halvorsen (@lance)

Many of us are initially attracted to Elixir because of its performance and fault tolerance. Make no mistake, these are stellar, but there are times when they are not the most critical requirements for our applications.

We’re going to take a look at a warehouse management system, originally written as part of a Rails monolith, for which data consistency and message ordering matter more.

That original system was deployed with Puma, forking multiple OS level processes on multiple nodes to gain parallel execution. That greatly increased the potential for multiple representations of an item in the system at any given moment. The result was an increase in stale data errors and inconsistent state.

As we rebuilt the system in Elixir, we turned these problems inside out. Stateful BEAM processes and their mailboxes allowed us to ensure that there would only be a single representation of each item in the system as well as order the messages each process receives. Throughout this talk, we’ll see how we accomplished this. We’ll also see how we handled some issues associated with this approach, like the cold start problem and keeping memory usage in check.

Audience: Intermediate
Topics: phoenix production

All talks are available in the ElixirConf US 2018 Talks List or via the elixirconf2018 tag

Where Next?

Trending in Talks Top

ElixirConf
Mise en Place for Ecto: Organizing Domain Complexity w/Business Rules-Nicholas Henry|ElixirConf 2025 Comments welcome! Vi...
New
ElixirConf
Extending Elixir with WebAssembly Components - Chris Nelson| ElixirConf US 2025 Comments welcome! View the <span class="h...
New
ElixirConf
From Notebook to Production: Evolution of Elixir Projects - Emmanuel Pinault | ElixirConf US 2025 Comments welcome! View...
New
ElixirConf
Leaving a BEAM cluster (basically) unattended for 2 years - Yuri Oliveira | ElixirConf US 2025 Comments welcome! View the...
New
ElixirConf
You can build an AI agent - Dennis Beatty | ElixirConf US 2025 Comments welcome! View the <span class="hashtag-icon-place...
New
ElixirConf
Engineering Network Protocol Clients - Carlos Souza | ElixirConf US 2025 Comments welcome! View the <span class="hashtag-...
New
ElixirConf
Test-Driven Elixir: Fast Track to Senior Engineer – Britton Broderick | ElixirConf US 2025 Comments welcome! View the <sp...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge &amp; Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New

We're in Beta

About us Mission Statement