In this course, we’ll learn about developing and designing streaming applications based on fs2 (Functional Streams for Scala). At the end of this course, attendees will be able to analyze, and correlate information as it arrives from different types of data sources in real-time.
fs2 embodies all the advantages of functional programming (FP), by understanding its design goals you will get exposure to the core ideas that make FP suitable for every real use case.
- One year experience in Scala or any other FP programming language.
- Knowledge of libraries like cats and cats-effect will be required.
- Experience in other streaming frameworks such as akka-streams will be useful.
What you'll learn
- Learn to identify problems that fs2 can solve, applying some FP concepts.
- Introductory topics like building streams, chunks and some of the basic stream operations, as well as, error handling and resource acquisition.
- Gain knowledge of how to manage I/O operations for big data sets that couldn’t fit in memory by managing them incrementally.
- Learn how to control streaming flow, and other techniques like backpressure or backoff.
- Concurrency in streaming apps will be covered, which will provide insight on how to run different streams simultaneously.