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

Saved in:
Bibliographic Details
Title: Concurrent Data Processing in Elixir : Fast, Resilient Applications with OTP, GenStage, Flow, and Broadway
Description: 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. What You Need: You'll need Elixir 1.9+ and Erlang/OTP 22+ installed on a Mac OS X, Linux, or Windows machine.
Authors: Svilen Gospodinov
Resource Type: eBook.
Subjects: Application software--Development, Elixir (Computer program language)
Categories: COMPUTERS / Data Science / General, COMPUTERS / Programming / Parallel, COMPUTERS / Internet / Web Programming
Database: eBook Academic Collection (EBSCOhost)
FullText Links:
  – Type: ebook-pdf
  – Type: ebook-epub
Text:
  Availability: 0
Header DbId: e000xww
DbLabel: eBook Academic Collection (EBSCOhost)
An: 3040331
RelevancyScore: 1103
AccessLevel: 6
PubType: eBook
PubTypeId: ebook
PreciseRelevancyScore: 1103.19409179688
IllustrationInfo
ImageInfo – Size: thumb
  Target: https://rps2images.ebscohost.com/rpsweb/othumb?id=NL$3040331$PDF&s=r
– Size: medium
  Target: https://rps2images.ebscohost.com/rpsweb/othumb?id=NL$3040331$PDF&s=d
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Concurrent Data Processing in Elixir : Fast, Resilient Applications with OTP, GenStage, Flow, and Broadway
– Name: Abstract
  Label: Description
  Group: Ab
  Data: 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. What You Need: You'll need Elixir 1.9+ and Erlang/OTP 22+ installed on a Mac OS X, Linux, or Windows machine.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Svilen+Gospodinov%22">Svilen Gospodinov</searchLink>
– Name: TypePub
  Label: Resource Type
  Group: TypPub
  Data: eBook.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Application+software--Development%22">Application software--Development</searchLink><br /><searchLink fieldCode="DE" term="%22Elixir+%28Computer+program+language%29%22">Elixir (Computer program language)</searchLink>
– Name: SubjectBISAC
  Label: Categories
  Group: Su
  Data: <searchLink fieldCode="ZK" term="%22COMPUTERS+%2F+Data+Science+%2F+General%22">COMPUTERS / Data Science / General</searchLink><br /><searchLink fieldCode="ZK" term="%22COMPUTERS+%2F+Programming+%2F+Parallel%22">COMPUTERS / Programming / Parallel</searchLink><br /><searchLink fieldCode="ZK" term="%22COMPUTERS+%2F+Internet+%2F+Web+Programming%22">COMPUTERS / Internet / Web Programming</searchLink>
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=e000xww&AN=3040331
RecordInfo BibRecord:
  BibEntity:
    Classifications:
      – Code: 005.133
        Scheme: ddc
        Type: prePub
    Languages:
      – Code: eng
        Text: English
    Subjects:
      – SubjectFull: Application software--Development
        Type: general
      – SubjectFull: Elixir (Computer program language)
        Type: general
    Titles:
      – TitleFull: Concurrent Data Processing in Elixir : Fast, Resilient Applications with OTP, GenStage, Flow, and Broadway
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Svilen Gospodinov
      – PersonEntity:
          Name:
            NameFull: Svilen Gospodinov
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 01
              Type: published
              Y: 2021
            – D: 03
              M: 07
              Type: profile
              Y: 2023
          Identifiers:
            – Type: isbn-print
              Value: 9781680508192
            – Type: isbn-electronic
              Value: 9781680508970
          Titles:
            – TitleFull: Concurrent Data Processing in Elixir : Fast, Resilient Applications with OTP, GenStage, Flow, and Broadway
              Type: main
ResultId 1