5.0
Intermediate
11h 10min
Concurrent Data Processing in Elixir
Gain insights into data processing and concurrency in Elixir. Explore GenServer, GenStage, Flow, and Broadway to enhance performance, set up pipelines, and handle increased workloads efficiently.
Most engineers don’t think that concurrency is distinct from programming. Data processing includes transforming information in some way, like reporting, data aggregation, or analytics. On the other hand, concurrency involves significantly improving performance.
This course is designed to help you navigate the world of concurrency tools available in the Elixir ecosystem. You’ll explore popular modules and libraries like GenServer, GenStage, Flow, and Broadway. You’ll be able to ingest data, set up pipelines, and run concurrent processes with Elixir.
By the end of the course, you’ll have a wide range of new techniques to simplify your product, improve code performance, and make your application more resilient to increased workloads.
Most engineers don’t think that concurrency is distinct from programming. Data processing includes transforming information in s...Show More
WHAT YOU'LL LEARN
Understand how concurrency works in Elixir
Learn about Elixir supervisors and GenServers
Learn to use data processing pipelines
Learn to use the Flow module in Elixir
Learn to set up data ingestion pipelines
Understand how concurrency works in Elixir
Show more
Content
1.
Getting Started
2 Lessons
Get familiar with concurrent data processing in Elixir and its prerequisites.
2.
Easy Concurrency with the Task Module
16 Lessons
Unpack the core of concurrent programming in Elixir with the Task module and supervision.
Introduction to ConcurrencyAn Introduction to the Task ModuleCreate the PlaygroundStart Tasks and Retrieve ResultsSynchronous vs. Asynchronous ProgramsRetrieve a Task’s ResultsUse the await and yield Functions to Retrieve ResultsStop a Task and Async TaskManage a Series of TasksParameters of the async_stream FunctionLink ProcessesMeet the SupervisorUse Task.SupervisorUnderstand the “Let It Crash” PhilosophyWrapping UpQuiz: Easy Concurrency with the Task Module
3.
Long-Running Processes Using GenServer
19 Lessons
Work your way through GenServer callbacks, process management, and optimizing concurrency in Elixir.
4.
Data Processing Pipelines with GenStage
13 Lessons
Find out about GenStage's role in managing data pipelines, back-pressure, and concurrency.
5.
Process Collections with Flow
12 Lessons
Take a closer look at concurrent data processing with Elixir's Flow library for large datasets.
6.
Data Ingestion Pipelines with Broadway
15 Lessons
See how Broadway simplifies data-ingestion pipelines with concurrent processing, batching, and fault tolerance.
7.
Concluding the Course
1 Lessons
Learn how to improve your ability to create efficient, scalable Elixir applications.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources