PragmaticBookshelf

PragmaticBookshelf

Forum Sponsor

Concurrent Data Processing in Elixir (PragProg)

Svilen Gospodinov

edited by Jacquelyn Carter @jkcarter

Learn different ways of writing concurrent code in Elixir and increase your application’s performance, without sacrificing scalability or fault-tolerance. Most projects benefit from running background tasks and processing data concurrently, but the world of OTP and various libraries can be challenging. Which Supervisor and what strategy to use? What about GenServer? Maybe you need back-pressure, but is GenStage, Flow, or Broadway a better choice? You will learn everything you need to know to answer these questions, start building highly concurrent applications in no time, and write code that’s not only fast, but also resilient to errors and easy to scale.

Whether you are building a high-frequency stock trading application or a consumer web app, you need to know how to leverage concurrency to build applications that are fast and efficient. Elixir and the OTP offer a range of powerful tools, and this guide will show you how to choose the best tool for each job, and use it effectively to quickly start building highly concurrent applications.

Learn about Tasks, supervision trees, and the different types of Supervisors available to you. Understand why processes and process linking are the building blocks of concurrency in Elixir. Get comfortable with the OTP and use the GenServer behaviour to maintain process state for long-running jobs. Easily scale the number of running processes using the Registry. Handle large volumes of data and traffic spikes with GenStage, using back-pressure to your advantage. Create your first multi-stage data processing pipeline using producer, consumer, and producer-consumer stages. Process large collections with Flow, using MapReduce and more in parallel. Thanks to Broadway, you will see how easy it is to integrate with popular message broker systems, or even existing GenStage producers.

Start building the high-performance and fault-tolerant applications Elixir is famous for today.


Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “devtalk.com" at checkout :+1:


Posted via Devtalk (see this thread for details).

Most Liked

stevensonmt

stevensonmt

I just finished this book. It was fantastic. I won’t claim to have a thorough grasp of the subject matter because of my lack of experience with real world applications where the topics covered would be used. That said, I found the pacing and style to be perfect for me. The organization of concepts building one to the next was very nicely done. I am excited to find some projects where I can put these concepts to use. Highly recommend.

quaint

quaint

Great news!
Does anyone know why mentioned coupon code is reported as invalid?

herminiotorres

herminiotorres

by the way, the discount coupon is valid right now.

AstonJ

AstonJ

Yes… it’s one of the things many of us love about PragProg books - we get them hot off the press so the content is fresh and current and we get updates as the book progresses - so you could buy it now and you will receive updates right through until its finished for print (and usually some time after too!) :003:

kpanic

kpanic

Hello, someone bought the beta book? care to share your impressions about this book?
Looks interesting

Where Next?

Popular in Books Top

PragmaticBookshelf
Kevin Hoffman edited by Kelly Talbot @KellyTalbot Reality is event-sourced; your mind processes sight, sound, taste, smell, and touch to...
New
PragmaticBookshelf
Alexander Koutmos @akoutmos Elixir Patterns aims to surface the powerful and unique characteristics of the Erlang virtual machine and sho...
New
shankardevy
I am happy to announce that I am completing final rounds of my Phoenix book (which is now a series of books/booklets). ...
New
waseigo
by Isaak Tsalicoglou Why this book is being written A few years ago I got fed up with the menial manual labor I was engaged in in our f...
New
AstonJ
by Martin Logan, Eric Merritt, and Richard Carlsson Erlang and OTP in Action teaches you the concepts of concurrent programming and the ...
New
PragmaticBookshelf
Frank Hunleth @fhunleth Bruce A. Tate @redrapids edited by Jacquelyn Carter @jkcarter Want to get better at coding Elixir? Write a har...
New
DevotionGeo
https://www.packtpub.com/web-development/phoenix-web-development
New
PragmaticBookshelf
Svilen Gospodinov edited by Jacquelyn Carter @jkcarter Learn different ways of writing concurrent code in Elixir and increase your appli...
New
kokolegorille
by Ulisses Almeida Elixir’s straightforward syntax and this guided tour give you a clean, simple path to learn modern functional program...
New
AstonJ
Don’t forget you can get 35% off the ebook using the code ‘devtalk.com’ :023: Current: Search Original: Search For those looking for ...
New

Other popular topics Top

yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lis...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers' Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

We're in Beta

About us Mission Statement