Real-time Analytics 
with Netty, Apache 
Kafka and Storm 
Case study with “lambda architecture” 
http://nguyentantrieu.info 
Update: 07/06/2013
Agenda 
1. Overview Architecture 
2. Log HTTP-Handler and producer: Netty 4 
3. Kafka 0.8 (Stream Data Log Storage) 
4. Storm Analytics Cluster
Overview System Architecture
Concept Flow
Concept Flow 
JavaScript Tracking 
Mobile SDK 
Http Log 
Server 
Kafka
S2 HTTP Log Server 
netty framework 4
Netty.io 
Netty is a non-blocking I/O (NIO) client-server framework 
for the development of Java network applications such as 
protocol servers and clients. 
The asynchronous event-driven network application 
framework and tools are used to simplify network 
programming such as TCP and UDP socket servers.[2] 
Netty includes an implementation of the reactor pattern of 
programming. 
http://en.wikipedia.org/wiki/Netty_(software) 
http://nguyentantrieu.info/blog/backend-system-with-netty-io
Apache Kafka (version 0.8) 
https://cwiki.apache.org/confluence/display/KAFKA/Index
In Production 
● Clustering ( 4 nodes) 
● Partitions 
○ user-activity: 24 partitions 
● Producer and consumer are replication 
aware
Core Producer Class 
(S2 HTTP Log Server)
Storm Analytics Cluster
The Storm Topology 
Kafka Cluster 
topic: user-activity 
Tokenizer 
Bolt 
Parser 
Bolt 
Aggregate 
Bolt 
Redis 
Statistics Bolt 
Raw Data 
Save DWH 
Bolt 
Kafka 
Consumer 
Spout
Useful Links 
● https://storm.incubator.apache.org 
● https://www.youtube.com/watch? 
v=DRgs8L4AOgc 
● https://cwiki.apache. 
org/confluence/display/KAFKA/Index 
● http://nguyentantrieu.info/blog/backend-system- 
with-netty-io 
●

Real time analytics with Netty, Storm, Kafka

  • 1.
    Real-time Analytics withNetty, Apache Kafka and Storm Case study with “lambda architecture” http://nguyentantrieu.info Update: 07/06/2013
  • 2.
    Agenda 1. OverviewArchitecture 2. Log HTTP-Handler and producer: Netty 4 3. Kafka 0.8 (Stream Data Log Storage) 4. Storm Analytics Cluster
  • 3.
  • 4.
  • 5.
    Concept Flow JavaScriptTracking Mobile SDK Http Log Server Kafka
  • 6.
    S2 HTTP LogServer netty framework 4
  • 7.
    Netty.io Netty isa non-blocking I/O (NIO) client-server framework for the development of Java network applications such as protocol servers and clients. The asynchronous event-driven network application framework and tools are used to simplify network programming such as TCP and UDP socket servers.[2] Netty includes an implementation of the reactor pattern of programming. http://en.wikipedia.org/wiki/Netty_(software) http://nguyentantrieu.info/blog/backend-system-with-netty-io
  • 8.
    Apache Kafka (version0.8) https://cwiki.apache.org/confluence/display/KAFKA/Index
  • 9.
    In Production ●Clustering ( 4 nodes) ● Partitions ○ user-activity: 24 partitions ● Producer and consumer are replication aware
  • 10.
    Core Producer Class (S2 HTTP Log Server)
  • 11.
  • 12.
    The Storm Topology Kafka Cluster topic: user-activity Tokenizer Bolt Parser Bolt Aggregate Bolt Redis Statistics Bolt Raw Data Save DWH Bolt Kafka Consumer Spout
  • 13.
    Useful Links ●https://storm.incubator.apache.org ● https://www.youtube.com/watch? v=DRgs8L4AOgc ● https://cwiki.apache. org/confluence/display/KAFKA/Index ● http://nguyentantrieu.info/blog/backend-system- with-netty-io ●