Summary
This chapter has been a journey into the world of stream processing. We learned about the concepts and capabilities of a streaming application, and its association with the Lambda architecture. We also discussed various sub-components of a stream-based system, such as the messaging subsystem, the processing subsystem, and the scheduler/executor subsystem, and how they work together. We looked at various design considerations when designing a stream-based application and walked through an example to see the different components of a stream-based system in action. In the next chapter, we will look at various data storage systems that compliment the batch and stream layers in general. Data stores such as Hadoop and NoSQL systems will be discussed in detail. Stay tuned!