- 312 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
About This Book
A friendly, framework-agnostic tutorial that will help you grok how streaming systems workâand how to build your own! In Grokking Streaming Systems you will learn how to: Implement and troubleshoot streaming systems
Design streaming systems for complex functionalities
Assess parallelization requirements
Spot networking bottlenecks and resolve back pressure
Group data for high-performance systems
Handle delayed events in real-time systems Grokking Streaming Systems is a simple guide to the complex concepts behind streaming systems. This friendly and framework-agnostic tutorial teaches you how to handle real-time events, and even design and build your own streaming job that's a perfect fit for your needs. Each new idea is carefully explained with diagrams, clear examples, and fun dialogue between perplexed personalities! About the technology
Streaming systems minimize the time between receiving and processing event data, so they can deliver responses in real time. For applications in finance, security, and IoT where milliseconds matter, streaming systems are a requirement. And streaming is hot! Skills on platforms like Spark, Heron, and Kafka are in high demand. About the book
Grokking Streaming Systems introduces real-time event streaming applications in clear, reader-friendly language. This engaging book illuminates core concepts like data parallelization, event windows, and backpressure without getting bogged down in framework-specific details. As you go, you'll build your own simple streaming tool from the ground up to make sure all the ideas and techniques stick. The helpful and entertaining illustrations make streaming systems come alive as you tackle relevant examples like real-time credit card fraud detection and monitoring IoT services. What's inside Implement and troubleshoot streaming systems
Design streaming systems for complex functionalities
Spot networking bottlenecks and resolve backpressure
Group data for high-performance systemsAbout the reader
No prior experience with streaming systems is assumed. Examples in Java. About the author
Josh Fischer and Ning Wang are Apache Committers, and part of the committee for the Apache Heron distributed stream processing engine.Table of Contents
PART 1 GETTING STARTED WITH STREAMING
1 Welcome to Grokking Streaming Systems
2 Hello, streaming systems!
3 Parallelization and data grouping
4 Stream graph
5 Delivery semantics
6 Streaming systems review and a glimpse ahead
PART 2 STEPPING UP
7 Windowed computations
8 Join operations
9 Backpressure
10 Stateful computation
11 Wrap-up: Advanced concepts in streaming systems
Frequently asked questions
Information
Part 1. Getting started with streaming
1 Welcome to Grokking Streaming Systems
- an introduction to stream processing
- differentiating between stream processing systems and other systems
What is stream processing?
- The mouse clicks on a computer
- The taps and swipes on a cell phone
- The trains arriving at and leaving a station
- The messages and emails sent out by a person
- The temperatures collected by sensors in a laboratory
- The interactions on a website (page views, user logins, clicks, and so on) from all users
- The logs generated by computer servers in a data center
- The transactions of all accounts in a bank
Streaming system examples
- The first example is a temperature-monitoring system in a laboratory. Many sensors are installed in different locations to collect temperature data every second. The streaming system is built to process the collected data and display the real-time information in a dashboard. It can also trigger alerts when any anomaly is detected. Laboratory administrators use the system to monitor all the rooms and make sure the temperature is in the right range.
- The second example is the monitoring and analyzing systems that process user interactions, such as page views, user logins, or button clicks on a website. When you visit a website, it is common that a lot of events are logged. These raw events often have many fields, so it is not efficient to digest directly. Also, some of the fields are not human-readable and need to be translated before consuming. Streaming systems are very helpful for converting the raw events data into more useful information, such as number of requests, active users, views on each page, and suspicious user behaviors, in this context.
Streaming systems and real time
How a streaming system works
- Applications
- Backend service...
Table of contents
- inside front cover
- Grokking Streaming Systems
- Copyright
- brief contents
- contents
- front matter
- Part 1. Getting started with streaming
- 1 Welcome to Grokking Streaming Systems
- 2 Hello, streaming systems!
- 3 Parallelization and data grouping
- 4 Stream graph
- 5 Delivery semantics
- 6 Streaming systems review and a glimpse ahead
- Part 2. Stepping up
- 7 Windowed computations
- 8 Join operations
- 9 Backpressure
- 10 Stateful computation
- 11 Wrap-up: Advanced concepts in streaming systems
- Appendix. Key concepts covered in this book
- index