![Page 1: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/1.jpg)
Data Pipeline mit Apache KafkaoderWie könnten Narren müde werden?
![Page 2: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/2.jpg)
Inhalt
Wer wir sind
Was Apache Kafka ist
Wie wir Kafka nutzen und was wir mit Kafka & AWS erlebt haben
Wie ein Cluster funktioniert und ausfällt
Was ihr noch wissen wollt (Fragen)
![Page 3: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/3.jpg)
Wer wir sind
Software Engineers bei emetriq
Java, JavaScript, Ruby (Chef), Groovy…
Apache Kafka, Cassandra, ElasticSearch
„You build it, you run it“
Moritz Siuts @coderaid
Robert von Massow @skompele
![Page 4: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/4.jpg)
Über emetriq
kollaborativer Datenpool mit intelligenten Datenprodukten
Viele Firmen bringen Daten in den Pool ein und wir veredeln diese
Produkte sind z.B. Targeting, Retargeting oder Recommendations
Wir suchen Leute mit Talent & Interesse an:Big Data, Cloud, Java, Ruby, Scala, Agile…
hiring (emetriq.com/jobs) and firing (jeder bekommt eine Nerf-Gun)
![Page 5: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/5.jpg)
Was Apache Kafka ist
![Page 6: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/6.jpg)
Was Kafka ist
Publish-Subscribe-Messaging System
„Kafka is a distributed, partitioned, replicated commit log service“
„Unified platform for handling all the real-time data feeds a large company might have“
Entwickelt bei LinkedIn, verwendet u.a. bei Netflix, Yahoo…
![Page 7: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/7.jpg)
+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐> Consumer | | Producer +-‐-‐-‐-‐-‐-‐-‐> | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | Kafka Cluster +-‐-‐-‐-‐-‐-‐-‐> Consumer | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | Producer +-‐-‐-‐-‐-‐-‐-‐> | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐> Consumer | +-‐-‐-‐-‐-‐-‐-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | +-‐-‐-‐-‐-‐-‐v-‐-‐-‐-‐-‐-‐+ | Zookeeper | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
![Page 8: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/8.jpg)
+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | | | | | Kafka Cluster | | | | | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | Topic | | | | name, TTL, ... | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | Topic | | | | name, TTL, ... | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
![Page 9: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/9.jpg)
+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | Topic | | | | name, TTL, ... | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | Partition | | | | id | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | Partition | | | | id | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
![Page 10: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/10.jpg)
+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | Partition | | | | id | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | Logfile | | | | mtime,... | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | Logfile | | | | mtime,... | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
![Page 11: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/11.jpg)
Kafka Writes Partitions +-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+ | | | | | | / | 0 | 1 | 2 | 3 | | <-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | | | | | | | +-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+ | | | | +-‐-‐-‐+-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ + | | | | | Locally sorted ++ | 0 | 1 | | <-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ Writes | | | | | | +-‐-‐-‐+-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ + | | | +-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐+ | | | | | | | | \ | 0 | 1 | 2 | | <-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | | | +-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐+
![Page 12: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/12.jpg)
Kafka ProducerSynchron oder asynchron
Batching
Compression
public class KafkaProducer<K, V> implements Producer<K, V> {
public Future<RecordMetadata> send(ProducerRecord<K, V> record, Callback callback){ ... }
}
![Page 13: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/13.jpg)
Was macht Kafka mit den Daten?Writes an Logfile anhängen
Beim fetch von file auf socket schreiben
Async/Background
Replication
Daten löschen wenn veraltet (Retention Time pro Topic)
Log compaction
Leader election
![Page 14: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/14.jpg)
API High Level Consumer
Kann 1 bis n Topics konsumieren
Konsumiert ein oder mehr Partitionen
Können in einer ConsumerGroup zusammengefasst werden
Maximal ein Consumer pro Partition (in der gleichen Group)
![Page 15: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/15.jpg)
Consumer Groups+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | Consumer | Offset v | Group | +-‐-‐-‐+-‐+-‐+-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | | | | | | | Consumer | | | 0 | 1 | 2 | 3 | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | | | | | | | +-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | Offset | | Consumer | +-‐-‐-‐-‐-‐-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | v +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐+-‐+-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | | | | | 0 | 1 | | | | | | | | +-‐-‐-‐+-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | Offset +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ v +-‐-‐-‐+-‐-‐-‐+-‐+-‐+-‐-‐-‐-‐-‐-‐-‐+ | | | | | | 0 | 1 | 2 | | | | | | | +-‐-‐-‐+-‐-‐-‐+-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐+
![Page 16: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/16.jpg)
Wie wir Kafka nutzen und was mit Kafka & AWS erlebt haben
![Page 17: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/17.jpg)
emetriq Architektur* Browser ^ + | | | | | | | | +-‐-‐-‐+-‐-‐-‐-‐-‐-‐v-‐-‐-‐+ | Webserver | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐> | AWS | +-‐-‐-‐-‐-‐-‐-‐+-‐-‐-‐-‐-‐-‐+ | | | | | | | | | | +-‐-‐-‐-‐-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐v-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | | | | | Cassandra <-‐-‐-‐-‐-‐-‐-‐+ Kafka +-‐-‐-‐-‐-‐-‐-‐-‐-‐> ElasticSearch | | | | | | | +-‐-‐-‐-‐-‐-‐-‐^-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐v-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | Rechenzentrum Hamburg | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ Hadoop | | | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+
* extrem vereinfacht
![Page 18: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/18.jpg)
Kafka @ emetriq6 Kafka-Broker mit je 4 TB
ca. 2600 Msg-In/s pro Broker (15.600 Msg-In/s im Cluster zur Mittagszeit)
Teilweise hohe Peaks (z.B. wenn jemand 5 Tore in einem Spiel schießt)
Deployed in AWS: eu-west-1, je 2 Broker pro AZ, c4.xlarge Instanzen
typisch: Replikationsfaktor 2; Retention Time 14 Tage
Async-Batch-Producer mit GZIP Compression (keine Log-Compaction)
![Page 19: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/19.jpg)
TTL greift nicht bei Broker Recovery
Wenn ein Broker seine Daten verliert, werden sie neu gezogen
Die TTL eines Topics gilt für die Timestamps der Logfiles auf der Platte
Die Files werden beim Recovery neu angelegt
BAM: doppelter Diskspace benötigt bis zum Ende der TTL
https://issues.apache.org/jira/browse/KAFKA-1379
![Page 20: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/20.jpg)
Skalierung / Performance
Zookeeper macht viele IOPS, deshalb Provisioned IOPS EBS nehmen
vor allem wenn die Consumer zu oft die Offsets commiten
Kafka braucht echt wenig CPU und auch RAM
wenn man sein Netzwerk auslastet bekommt man aber schnell Probleme
bei AWS braucht man also trotzdem große Instanzen
http://blog.parsely.com/post/1738/kafkapocalypse/
![Page 21: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/21.jpg)
Langsame EBS
Langsame EBS können zu Problemen bei in-sync-replicas (ISR) führen
ISR = max. 4000 Msg hinter Leader
![Page 22: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/22.jpg)
Producer Queues
„Kafka will remain available in the presence of node failures after a short fail-over period“
Die Queues müssen groß genug sein um die fail-over-period abzufangen
Vor allem in Autoscaling-Szenarien spannend (und wenn man Code optimiert und mit einem Mal n-fach mehr Req/Server abarbeitet)
![Page 23: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/23.jpg)
Wie ein Cluster funktioniert und ausfällt
![Page 24: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/24.jpg)
Unser Kafka Cluster
5 Kafka RaspberryPI
ARM Cortex-A7 Quad 900MHz
1GB RAM
1 Zookeeper RaspberryPI*
2 Switches
*SPOF, don’t do this in production
![Page 25: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/25.jpg)
Fractals via Kafka +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | Producer +-‐-‐-‐-‐-‐-‐-‐-‐> | Coordinates +-‐-‐-‐-‐-‐-‐-‐-‐-‐> |Fractal Generator+-‐+ +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐+-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | | | | +-‐-‐-‐-‐-‐-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | |Renderer| <-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ Fractals | <-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ +-‐-‐-‐-‐+-‐-‐-‐+ | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | | | | | | Kafka | | | | | +-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐+ | v
![Page 26: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/26.jpg)
Was Ihr noch wissen wollt
Fragen?
Kommentare!
.com/jobs
![Page 27: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/27.jpg)
![Page 28: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/28.jpg)
![Page 29: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/29.jpg)
Quellen
https://kafka.apache.org/documentation.html
https://issues.apache.org/jira/browse/KAFKA-1379
http://blog.parsely.com/post/1738/kafkapocalypse/
http://de.slideshare.net/miguno/apache-kafka-08-basic-training-verisign
https://github.com/yahoo/kafka-manager
![Page 30: Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.talks 2015](https://reader031.vdocuments.net/reader031/viewer/2022021814/58d0eec41a28abba558b69a7/html5/thumbnails/30.jpg)