Copyright
Brief Table of Contents
Table of Contents
Preface
Acknowledgments
About this Book
1. A new holistic approach
Chapter 1. Introducing streaming data
1.1. What is a real-time system?
1.2. Differences between real-time and streaming systems
1.3. The architectural blueprint
1.4. Security for streaming systems
1.5. How do we scale?
1.6. Summary
Chapter 2. Getting data from clients: data ingestion
2.1. Common interaction patterns
2.1.1. Request/response pattern
2.1.2. Request/acknowledge pattern
2.1.3. Publish/subscribe pattern
2.1.4. One-way pattern
2.1.5. Stream pattern
2.2. Scaling the interaction patterns
2.2.1. Request/response optional pattern
2.2.2. Scaling the stream pattern
2.3. Fault tolerance
2.3.1. Receiver-based message logging
2.3.2. Sender-based message logging
2.3.3. Hybrid message logging
2.4. A dose of reality
2.5. Summary
Chapter 3. Transporting the data from collection tier: decoupling the data pipeline
3.1. Why we need a message queuing tier
3.2. Core concepts
3.2.1. The producer, the broker, and the consumer
3.2.2. Isolating producers from consumers
3.2.3. Durable messaging
3.2.4. Message delivery semantics
3.3. Security
3.4. Fault tolerance
3.5. Applying the core concepts to business problems
Finance: fraud detection
Internet of Things: a tweeting Coke machine
E-commerce: product recommendations
3.6. Summary
Chapter 4. Analyzing streaming data
4.1. Understanding in-flight data analysis
4.2. Distributed stream-processing architecture