Skip to content

whatyouhide/guide_async_processing_in_elixir

Repository files navigation

Asynchronous Processing in Elixir 🏃

Cover image of some abstract lights

This is a short interactive guide to asynchronous data processing in Elixir. It uses Livebook to show interactive Elixir snippets that you can run on your own machine.

How Do I Use This?

There are a handful of livebooks in this guide. Using the badges below, you can import them to your computer and run and explore them there. My recommendation is to use the Livebook desktop app that you can find on its website.

01 — Processes

Run in Livebook

In this livebook we talk about the basics of processes and message passing.

02 — Tasks

Here, we talk about the Task abstraction that ships in Elixir's standard library.

Run in Livebook

03 — GenStage

GenStage is an Elixir library maintained by the Elixir core team. It lets you build pipelines of stages through which events flow.

Run in Livebook

04 — Flow

Flow is another Elixir library maintained by the core team. It builds on top of GenStage to provide an API similar to Enum and Stream, but for parallel data processing.

Run in Livebook

05 — Broadway

Broadway lets you build declarative data ingestion and processing pipelines. It supports several sources (RabbitMQ, Kafka, AWS SQS, and more).

Run in Livebook

License

See the license file.

"Social preview" photo by Bofu Shaw on Unsplash.