Concurrent Data Processing in Elixir: Fast, Resilient Applications with OTP, GenStage, Flow, and Broadway (pdf)

$12.00

Author Svilen Gospodinov
Edition 1
Edition Year 2021
Format PDF
ISBN 9781680508192
Language English
Number Of Pages 176
Publisher Pragmatic Bookshelf

Description

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.

What You Need:

 

You’ll need Elixir 1.9+ and Erlang/OTP 22+ installed on a Mac OS X, Linux, or Windows machine.

Additional information

Author

Svilen Gospodinov

Edition

1

Edition Year

2021

Format

PDF

ISBN

9781680508192

Language

English

Number Of Pages

176

Publisher

Pragmatic Bookshelf

Reviews

There are no reviews yet.

Be the first to review “Concurrent Data Processing in Elixir: Fast, Resilient Applications with OTP, GenStage, Flow, and Broadway (pdf)”

Your email address will not be published. Required fields are marked *