Skip to Content

Hulde

Posts on page 4

Building Generic Server Processes: From Bare-Bones to GenServer in Elixir

When you first create a process in Elixir you usually think of it as a tiny, isolated unit that can receive a few messages and then terminate. Real‑world systems, however, often need long‑running processes that keep some internal data, react to many different kinds of requests, and possibly communicate with other processes. Those are generic server processes – the backbone of most concurrent applications built on the BEAM.

This article walks you through the evolution from a bare‑bones process that you build yourself to the full‑featured GenServer behaviour that ships with Elixir. Along the way we will:

Building Generic Server Processes: From Bare-Bones to GenServer in Elixir Read More

Understanding BEAM Concurrency: Lightweight Processes and Message Passing

One of the biggest reasons Elixir can power large‑scale, fault‑tolerant services is its underlying runtime – the BEAM virtual machine. The BEAM gives you a lightweight concurrency model that looks very different from threads or OS processes you might be used to. In this article we’ll explore the essential building blocks that make BEAM concurrency tick, learn how to create and coordinate processes, and see practical patterns you’ll use every day when writing real‑world applications.

Why Concurrency Matters

When a web service receives thousands of requests per second, it must keep those requests from stepping on

Understanding BEAM Concurrency: Lightweight Processes and Message Passing Read More