big game data - event tracking mit storm, kestrel und der lambda architektur - code.talks 2014
DESCRIPTION
Event Tracking ist ein bekanntes Problem aus dem Big Data Bereich. Die Präsentation zeigt unsere Lösung bei InnoGames und geht dabei auf Technologien wie Apache Storm und Kestrel näher ein. Zudem wird die Lambda Architektur vorgestellt und mit Beispieltechnologien verständlich und praktisch erklärt.TRANSCRIPT
![Page 1: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/1.jpg)
Big Game Data - Volker Janz
Big Game Data
1
Event Tracking @ InnoGames
![Page 2: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/2.jpg)
Big Game Data - Volker Janz 2
![Page 3: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/3.jpg)
Big Game Data - Volker Janz 3
@prenomenon!
Lead Software Developer💼
Volker Janz
![Page 4: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/4.jpg)
Big Game Data - Volker Janz 4
![Page 5: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/5.jpg)
Big Game Data - Volker Janz 5
InnoGames๏ Free-to-play Onlinespiele
๏ Die Stämme
๏ Forge of Empires
๏ Grepolis
๏ The West
๏ 350 Mitarbeiter am Standort Hamburg
๏ Mehr als 130 Millionen Registrierungen
๏ International
๏ Bester Arbeitgeber der Games Branche
![Page 6: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/6.jpg)
Big Game Data - Volker Janz 6
" Was ist Big Data?
Keynote Template
![Page 7: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/7.jpg)
Big Game Data - Volker Janz 7
Was ist Big Data? "
![Page 8: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/8.jpg)
Big Game Data - Volker Janz 8
Was ist Big Data? "
Volume
![Page 9: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/9.jpg)
Big Game Data - Volker Janz 9
Was ist Big Data? "
Variety
![Page 10: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/10.jpg)
Big Game Data - Volker Janz 10
Was ist Big Data? "
Velocity
![Page 11: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/11.jpg)
Big Game Data - Volker Janz 11
Was ist Big Data? "
![Page 12: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/12.jpg)
Big Game Data - Volker Janz 12
⚡ Events
Keynote Template
![Page 13: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/13.jpg)
Big Game Data - Volker Janz 13
Events ⚡
!Ein Event ist ein Indikator für ein beobachtbares Geschehen
bzw. eine Zustandsänderung in Form einer Text Nachricht
welche aktiv sowie passiv durch oder für einen bestimmten,
identifizierbaren Nutzer oder ein System zu einer bestimmten
Zeit ausgelöst werden kann.
![Page 14: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/14.jpg)
Big Game Data - Volker Janz 14
Events ⚡
!Ein Event ist ein Indikator für ein beobachtbares Geschehen
bzw. eine Zustandsänderung in Form einer Text Nachricht
welche aktiv sowie passiv durch oder für einen bestimmten,
identifizierbaren Nutzer oder ein System zu einer bestimmten
Zeit ausgelöst werden kann.
![Page 15: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/15.jpg)
Big Game Data - Volker Janz 15
Events ⚡
0.1.0/prog/build/foe/2.0.1/de/4711/2014-10-01T13:37.000Z/ua/kaserne/10/20/15
Identifikatoren Metadaten Parameter
version/category/type/game/sprint/market/player/date/user_agent/param1/…/paramN
![Page 16: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/16.jpg)
Big Game Data - Volker Janz 16
Events ⚡
![Page 17: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/17.jpg)
Big Game Data - Volker Janz 17
Events ⚡
prog/build
prog/fight
set/change
soci/invite
soci/message
![Page 18: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/18.jpg)
Big Game Data - Volker Janz 18
Events ⚡
250M90G2700G
Events / Tag
Daten / Tag
Daten / Monat
![Page 19: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/19.jpg)
Big Game Data - Volker Janz 19
Events ⚡
" GameServer
# Hadoop
" GameServer
" GameServer
" GameServer
" GameServer
" GameServer
" GameServer
" GameServer
" GameServer
📈
👤
💻
![Page 20: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/20.jpg)
Big Game Data - Volker Janz 20
🚀Spieler verstehen
und Spiele optimieren 📈
Ad-hoc Analysen und
automatisiere Reports
📱Mobile
Plattformen differenzieren
Drag Your Image Here
Events ⚡
'Datenbereitstellung
für andere Systeme (BI)
⚡Echtzeitanalysen
und Aktionen
![Page 21: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/21.jpg)
Big Game Data - Volker Janz 21
% Event Tracking
Keynote Template
![Page 22: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/22.jpg)
Big Game Data - Volker Janz 22
Event Tracking %
Aller Anfang ist schwer
![Page 23: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/23.jpg)
Big Game Data - Volker Janz 23
Event Tracking %
" Game Server
'Event
Gateway
Event Client
*Message Queue
+Event
Consumer
Hadoop
📈
👤
💻
Entkoppeln und einfacher einstieg ins System
Buffer und „Auffangbecken“ - Bereitstellung der Events an
Consumer
Konsumieren und Schreiben der Events an die Korrekte
Stelle im HDFS (Partitionierung)
Verteilte Speicherung (HDFS) und Verarbeitung
(MapReduce, Spark)
![Page 24: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/24.jpg)
Big Game Data - Volker Janz 24
'Gateway
*Queue
💻Client
+Consumer
Twitter Kestrel
Apache Storm
Perl Script
REST API mit Dropwizard
Event Tracking %
![Page 25: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/25.jpg)
Big Game Data - Volker Janz 25
Event Tracking %
" Game Server
'REST API
Perl Script
*Kestrel
Hadoop
'REST API
*Kestrel
LB⚡
Storm Cluster
⟳Round Robin
Event File
Backup =nginx access.log +$request_body +logrotate +hadoop fs -put
![Page 26: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/26.jpg)
Big Game Data - Volker Janz 26
* Kestrel
Keynote Template
https://github.com/twitter/kestrel
![Page 27: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/27.jpg)
Big Game Data - Volker Janz 27
Kestrel *
Einfache, verteile Message queue
![Page 28: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/28.jpg)
Big Game Data - Volker Janz 28
Kestrel *
Persistent Hält Messages im Speicher für Speed
Schreibt in Journal Dateien für Persistenz
![Page 29: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/29.jpg)
Big Game Data - Volker Janz 29
Kestrel *
Zuverlässig Clients können Messages „vorläufig“ lesen Bei Abbruch wird Message „zurückgelegt“
![Page 30: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/30.jpg)
Big Game Data - Volker Janz 30
Kestrel *
Flexibel memcache Protokoll
Einfaches text Protokoll Apache Thrift
![Page 31: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/31.jpg)
Big Game Data - Volker Janz 31
💻
Kestrel *
*geordnet
*geordnet
*locker geordnet
![Page 32: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/32.jpg)
Big Game Data - Volker Janz 32
💻
Kestrel *
*events_queue
*events_queue+fanout💻
Client 1
Client 2
![Page 33: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/33.jpg)
Big Game Data - Volker Janz 33
Kestrel *
new KestrelConfig { queues = new QueueBuilder() { name = "q" maxItems = 500 } :: new QueueBuilder() { name = "q+fanout" maxAge = 1.minute } :: new QueueBuilder() { name = "x" maxMemorySize = 16.megabytes }}
![Page 34: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/34.jpg)
Big Game Data - Volker Janz 34
Kestrel *
![Page 35: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/35.jpg)
Big Game Data - Volker Janz 35
Kestrel *
& watch -t -d -n,1 'echo "DUMP_STATS" | nc localhost 22133'
'SET <queue-name> <flags (ignored)> <expiration> <# bytes> echo -e "SET game_events 0 0 16\n0.1.0/prog/build\n" | nc localhost 22133
(GET <queue-name>[options] echo "GET game_events" | nc localhost 22133
![Page 36: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/36.jpg)
Big Game Data - Volker Janz 36
⚡ Storm
Keynote Template
https://github.com/apache/storm
![Page 37: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/37.jpg)
Big Game Data - Volker Janz 37
Storm ⚡
Apache™ Storm is a distributed real-time computation system for processing fast, large
streams of data.
![Page 38: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/38.jpg)
Big Game Data - Volker Janz 38
Storm ⚡
Schnell⏩
1.000.000 100 Byte Nachrichten pro
Sekunde pro Node
Skalierbar.
Parallele, im Cluster verteilte
Berechnung
Fehlertolerant❌
Ausfallende Worker und Nodes werden
automatisch kompensiert
Zuverlässig✓
Garantiert „at least once“ oder „exactly once“ Verarbeitung
von Nachrichten
![Page 39: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/39.jpg)
Big Game Data - Volker Janz 39
Storm ⚡
Tupel
Tupel
Tupel
Tupel
Datenstrom
Storm verarbeitet Datenströme aus Tupeln
Ein Tupel ist eine Liste von Werten
![Page 40: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/40.jpg)
Big Game Data - Volker Janz 40
Storm ⚡
Spout
Quelle von Datenströmen
![Page 41: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/41.jpg)
Big Game Data - Volker Janz 41
Storm ⚡
Verarbeitung von Tupeln
Bolt
![Page 42: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/42.jpg)
Big Game Data - Volker Janz 42
Storm ⚡
In Datenbank schreiben
![Page 43: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/43.jpg)
Big Game Data - Volker Janz 43
Storm ⚡
Aus Datenbank lesen
![Page 44: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/44.jpg)
Big Game Data - Volker Janz 44
Storm ⚡
Optional weitere Tupel / Datenströme erzeugen
![Page 45: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/45.jpg)
Big Game Data - Volker Janz 45
Storm ⚡
Eine Topologie ist ein gerichteter azyklischer Graph und eine
Komposition aus Spouts und Bolts
![Page 46: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/46.jpg)
Big Game Data - Volker Janz 46
Storm ⚡
Spouts und Bolts werden als individuelle Tasks parallel im Cluster ausgeführt, die Verteilung der Tupel geschieht durch Stream Grouping
![Page 47: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/47.jpg)
Big Game Data - Volker Janz 47
Storm ⚡
Worker NodeWorker Prozess
Executor
⚙
Task⚙
Task
⚙
Task⚙
Task
image
Nimbus
ZK
![Page 48: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/48.jpg)
Big Game Data - Volker Janz 48
Storm ⚡
public class RedisSpout extends BaseRichSpout {
// ... @Override public void nextTuple() { String message = jedis.rpop(messageQueue);
if(null != message && !message.equals(NIL)) { int pos = message.indexOf(","); String entityId = message.substring(0, pos); String recordData = message.substring(pos+1); collector.emit(new Values(entityId, recordData)); } }
}
![Page 49: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/49.jpg)
Big Game Data - Volker Janz 49
Storm ⚡
public
collector } }
}
Kestrel Spout https://github.com/nathanmarz/storm-kestrel
![Page 50: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/50.jpg)
Big Game Data - Volker Janz 50
Storm ⚡
public static class WordCount extends BaseBasicBolt { Map<String, Integer> counts = new HashMap<String, Integer>();
@Override public void execute(Tuple tuple, BasicOutputCollector collector) { String sentence = tuple.getString(0);
for (String word : sentence.split(" ")) { collector.emit(tuple, new Values(word)); }
collector.ack(tuple); }
}
![Page 51: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/51.jpg)
Big Game Data - Volker Janz 51
Storm ⚡
public
collector }
collector }
}
HDFS Bolt https://github.com/ptgoetz/storm-hdfs
![Page 52: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/52.jpg)
Big Game Data - Volker Janz 52
Storm ⚡
public static void main(String[] args) throws Exception { TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("spout", new RandomSentenceSpout(), 5); builder.setBolt("split", new SplitSentence(), 8).shuffleGrouping("spout"); builder.setBolt("count", new WordCount(), 12).fieldsGrouping("split", new Fields("word"));
Config conf = new Config(); conf.setDebug(true);
// ...
LocalCluster cluster = new LocalCluster(); cluster.submitTopology("word-count", conf, builder.createTopology());
Thread.sleep(10000);
cluster.shutdown();}
![Page 53: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/53.jpg)
Big Game Data - Volker Janz 53
λ Lambda Architektur
Keynote Template
![Page 54: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/54.jpg)
Big Game Data - Volker Janz 54
Lambda Architektur λ
Abstrakte Architektur für die Realisierung von skalierbaren
Echtzeitsystemen
![Page 55: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/55.jpg)
Big Game Data - Volker Janz 55
Lambda Architektur λ
@nathanmarz http://manning.com/marz/
!
📕
![Page 56: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/56.jpg)
Big Game Data - Volker Janz 56
Lambda Architektur λ
# Datenquellen
Batch Layer
Speed Layer
Serving Layer Query
![Page 57: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/57.jpg)
Big Game Data - Volker Janz 57
Lambda Architektur λ
# Datenquellen
Query
Batch Layer
Speed Layer
Serving Layer
Master Datensatz
Batch Views⟳
Datenstrom Real-Time Views⚡
Merged View)
![Page 58: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/58.jpg)
Big Game Data - Volker Janz 58
Lambda Architektur λ
Messaging System Query
DB / DFSBatch
Processing System
Stream Processing System
DB Batch Views
DB Real-Time Views
Application
![Page 59: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/59.jpg)
Big Game Data - Volker Janz
Hadoop 2 / YARN
Lambda Architektur
59
λ
Apache Kafka / Kestrel Query
HDFS MapReduce / Spark
Storm-YARN
HOYAHue /
Apache Twill / Apache
Slider
![Page 60: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/60.jpg)
Big Game Data - Volker Janz
Hadoop 2 / YARN
Lambda Architektur
60
λ
Apache Kafka / Kestrel Query
HDFS MapReduce / Spark
Storm-YARN HOYA
HDFS
![Page 61: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/61.jpg)
Big Game Data - Volker Janz 61
" Game Server
'REST API
Perl Script
*Kestrel
Hadoop
'REST API
*Kestrel
LB⚡
Storm Cluster
⟳Round Robin
Event File
Lambda Architektur λ
![Page 62: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/62.jpg)
Big Game Data - Volker Janz 62
" Game Server
'REST API
Perl Script
'REST API
LB ⟳
Event File
*Kestrel
*Kestrel
Hadoop
HBASE
⚡
Storm Cluster
Event Consumer
Lambda Architektur λ
![Page 63: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/63.jpg)
Big Game Data - Volker Janz 63
" Game Server
'REST API
Perl Script
'REST API
LB ⟳
Event File
*Kestrel
*Kestrel
Hadoop
HBASE
⚡
Storm Cluster
Event Consumer
Lambda Architektur λ
![Page 64: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/64.jpg)
Big Game Data - Volker Janz 64
" Game Server
'REST API
Perl Script
'REST API
LB ⟳
Event File
*Kestrel
*Kestrel
Hadoop
HBASE
⚡
Storm Cluster
Event ConsumerBatch Layer
Speed Layer Serving
Layer
Datenquelle
Lambda Architektur λ
![Page 65: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/65.jpg)
*Mark Twain
If the only tool you have is a hammer, everything
looks like a nail.
![Page 66: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/66.jpg)
2012
![Page 67: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/67.jpg)
*
2014
![Page 68: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/68.jpg)
*Albert Einstein
Not everything that can be counted counts. Not everything that
counts can be counted.
![Page 69: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/69.jpg)
Big Game Data - Volker Janz 69
! @prenomenon " 3
VIELEN DANK+
de.linkedin.com/in/vjanz/innogames.com jobs.innogames.com blog.innogames.com
![Page 70: Big Game Data - Event Tracking mit Storm, Kestrel und der Lambda Architektur - code.talks 2014](https://reader038.vdocuments.mx/reader038/viewer/2022103018/5592a6241a28ab5c798b4711/html5/thumbnails/70.jpg)
Big Game Data - Volker Janz 70
! @prenomenon " 3
VIELEN DANK+
de.linkedin.com/in/vjanz/innogames.com jobs.innogames.com blog.innogames.com
JOIN US ,