Chapter 8. Railway-oriented processing

This chapter covers

  • Handling failure within Unix programs, Java exceptions, and error logging
  • Designing for failure inside and across stream processing applications
  • Composing failures inside work steps with the Scalaz Validation
  • Failing fast across work step boundaries with Scala’s map and flatMap

So far, we have focused on what you might call the happy path within our unified log. On the happy path, events successfully validate against their schemas, inputs are never accidentally null, and Java exceptions are so rare that we don’t mind them crashing our application.

The problem with focusing exclusively on the happy path is that failures do happen. More than this: if you implement a unified log across ...

Get Event Streams in Action now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.