Scalable Big Data stream processing with Storm and Groovy
summary
Claim: a real-time pipeline handles social feed scale and delivers enriched tweets to a mobile app. Practical stack: Storm + Groovy + Kafka + MongoDB for ingestion, queuing, processing, storage; image extraction, deduplication and business-rule DSL run inside bolts; testing with Storm test API and Spock; caching with Guava for APIs; synthetic monitoring tweets every two minutes. Architecture details include spouts/bolts/topologies, parallelism hints, Trident exactly-once micro-batches versus Storm’s at-least-once, and handling bursts like 6,000 tweets/sec.
AI-written summary · about
chapters (36)
- 0:00Intro
- 0:37PRESENTATION SUMMARY
- 2:27HADOOP
- 4:44Stream Processing Flow
- 6:28STORM HISTORY
- 7:09STORM ADOPTION Most mature, widely adopted framework
- 8:00STORM PROPERTIES
- 9:50STORM ABSTRACTIONS
- 11:39TASKS Instance of Spout or Bolt
- 12:13Stream Grouping How tuples are send between instances of spouts and bolts
- 13:11Abstractions Summary
- 13:35STORM DEPENDENCIES
- 13:46DISTRIBUTED WORD COUNT TOPOLOGY
- 14:43WORD COUNT Data Source
- 15:09WRITING BOLT
- 23:15STORM PARALLELISM storm main components
- 23:47Parallelism configuration
- 26:33Reliability API Tuple tree
- 27:33Reliability API (Spout)
- 29:55TESTING STORM
- 30:15TESTING with SPOCK BDD style of testing
- 31:40STORM COMPONENTS Physical View
- 33:34STORM UI Monitoring and performance tuning
- 34:47NIMBUS DOWN
- 35:41SUPERVISOR DOWN
- 35:53WORKER PROCESS DOWN
- 40:03TRIDENT EXAMPLE Word count with Trident
- 44:24STORM vs TRIDENT
- 48:56CREATE TWITTER SPOUT
- 49:47MEDPULSE TOPOLOGY
- 51:44STORM ARCHITECTURAL BLUEPRINT
- 53:19RULE ENGINE TOPOLOGY
- 55:02Synthetic Monitoring
- 55:59Use Graphite Statsd and Storm Metrics API
- 56:34Performance Optimization
- 57:42RESOURCES
