Stream Processing with Scala

Learn how to use stream processing in Scala for writing reactive microservices in a fully non-blocking and asynchronous manner.

Book a Training


Stream processing is a computing paradigm that can radically simplify many aspects of modern applications. Concurrency patterns, data transformations, analytics - streams are a good fit for them all. In this course, developers will learn how to use stream processing in Scala for writing reactive microservices in a fully non-blocking and asynchronous manner. Beyond microservices, this course will techniques for streaming analytics and how those can be put to use with best-of-breed libraries like ZIO Streams.

Are you interested in attending a private training course?

Register for Private Training

Are you interested in attending a public training course?

Register for Public Training

Who Should Attend

Developers, data engineers and software architects interested in using stream processing for microservices and analytics.


Attendees should have basic experience with usage of the Scala language.


  • Overview of ZIO
  • Constructing streams from static data
  • Using streams to read from external sources
  • Maintaining resource safety using streams
  • Transforming data in parallel
  • Reading from sockets and files using streams
  • Parsing and aggregating data using streams and sinks
  • Optimizing performance using streams and chunks
  • Advanced concurrency patterns
  • Structuring applications using streams
  • Testing streaming applications
Last year, we started using ZIO, as a superior alternative to tagless-final and Monad transformers. ZIO is a powerful effect monad with a lot of combinators, interop with important libraries, and new integrations with OpenTracing and logging. ZIO lets us focus on our business logic, making it easier to understand and test, and there is no doubt ZIO will be one of the significant parts of Scala infrastructure over the coming years!
Jan de Groot
DHL Parcel Netherlands - Head of Development

Related Courses

Event-driven Applications with Kafka

Gain the skills and knowledge required to build Scala applications that use Kafka as their backbone.

# backend
16 hours

Kubernetes for Application Developers

Learn the patterns, architectures and techniques required to write resilient applications on Kubernetes.

# backend
16 hours

JVM Performance and Optimization for Scala Engineers

Learn techniques for writing performant Scala code and effective use of tools for analyzing performance.

# backend
16 hours

Book a Training