SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Apache Kafka 
Un système distribué 
de messagerie 
hautement performant 
Charly CLAIRMONT 
CTO 
ALTIC 
http://altic.org 
charly.clairmont@altic.org 
@egwada
Petite bio 
Co-fondateur Altic 
10 ans maintenant 
Un des mes premiers jobs : « mettre de 
l'open source à tous les étages » dans 
l'entreprise ! 
Mes technos (orientées décisionnelles mais pas que)
Altic 
@Altic_Buzz 
Métier 
Informatique Décisionnelle 
Intégration de données 
Valeurs 
– Innovations 
– Open Source 
Une maîtrise de toute la chaîne de valeur du Big Data
Apache Kafka 
Un système distribué de messagerie 
hautement performant 
tolérant aux panes
Agenda 
Introduction 
Apache Kafka, qu'est ce que c'est ? 
Concepts élémentaires 
Topics, partitions, replicas, offsets 
Producteurs, brokers, consommateurs 
Écosystème
Agenda 
Introduction 
Apache Kafka, qu'est ce que c'est ?
Introduction 
Apache Kafka, qu'est-ce que c'est ? 
● Distribué, très haut débit, système de messagerie 
publication / abonnement (pub-sub) 
– Rapide, Robuste, Scalable, Durable 
● Principaux cas d'utilisation 
– Agrégation de logs, traitement temps réel, monitoring, 
files d'attente 
● Développé à l'origine chez LinkedIn 
● Écrit en Scala (un peu de Java) 
● TLP Apache depuis 2012 
● 9 core commiteurs, en eviron 20 contributeurs 
● http://kafka.apache.org
Introduction 
Comparaison avec d'autres 
brokers 
8 
Kafka 
Messagerie file d'attente 
Débit faible, faible latence 
JMS 
ActiveMQ 
RabbitMQ 
Qpid 
Agrégateur de logs 
Débit très fort, forte latence 
Flume Hedwig 
Scribe 
Kestrel 
Batch jobs 
Traditionnels: JMS, xxxMQ/AMQP 
Nouvelle génération: Kestrel, Scribe, Flume, Kafka
Introduction 
Performance chez LinkedIn 
● Statistiques sur l'un des importants clusters 
Apache Kafka (aux heures de pointe): 
– 15 brokers 
– 15 500 partitions (réplication facteur 2) 
– En entrée 
● 400 000 msg / sec. 
● 70 Mo / sec. 
– En sortie 
● 400 Mo / sec.
Introduction 
Adoption de Kafka & Cas 
d'utilisation 
● LinkedIn 
– flux d'activité, suivi indicateurs opérationnels, bus de données 
– 400 nodes, 18k topics, 220 milliards msg/day (pic 3.2 millions 
msg/s), Mai 2014 
● OVH : Anti-DDOS 
● Netflix : Suivi temps réel, traitement temps réel 
● Twitter : Composant de leur architecture temps réel, couplée à Storm 
● Spotify : Traitement de log (de 4h à 10s), Hadoop 
● Loggly : Collecte et traitement de log 
● Mozilla : Gestion de métrique 
● Airbnb, Cisco, Gnip, InfoChimps, Ooyala, Square, Uber, …
Introduction 
Pourquoi Apache Kafka ? 
On va imaginer que vous collectez vos logs!
Introduction 
Pourquoi Apache Kafka ? 
Jusqu'ici tout va bien !
Introduction 
Pourquoi Apache Kafka ? 
Là ça va encore !
Introduction 
Pourquoi Apache Kafka ? 
Mais là ? Diriez-vous la même chose ?
Introduction 
Pourquoi Apache Kafka ? 
Je n'en suis pas si sûr !
Introduction 
Pourquoi Apache Kafka ? 
Un bel exemple celui de Spotify. 
https://www.jfokus.se/jfokus14/preso/Reliable­real­time­processing­with­Kafka­and­Storm. 
pdf (Feb 2014)
Introduction 
Pourquoi Apache Kafka est-il si rapide ? 
● Écritures rapides: 
– Bien que Kafka persiste toutes les données sur le disque, 
toutes les écritures vont essentiellement « page cache » de 
l'OS, soit la RAM. 
● Lectures rapides: 
– Très efficace pour transférer des données à partir du 
« page cache » vers une socket réseau 
– Linux: sendfile() appel système 
● « Zéro-copy » 
● Combinaison des deux = rapide Kafka! 
● Compression de bout en bout
Agenda 
Introduction 
c'est quoi Apache Kafka 
Concepts élémentaires 
Topics, partitions, offsets, réplicas 
producteur, brokers ,consommateurs, 
Ecosystème
Concepts élémentaires 
Vue Globale 
● Les producteurs publient des données 
vers les brockers. 
● Les consommateurs s'abonnent et 
récupèrent les données depuis les 
brockers. 
● Tous les services sont distribués 
● Les données 
– Les données sont stockées dans des 
topics. 
– Les topics sont divisés en partitions, 
et sont répliqués.
Concepts élémentaires 
Vue Globale 
« broker » = serveur 
Partitions : 
distribuées 
et 
répliquées 
sur les 
brokers 
(donc les 
serveurs) 
topic = « zerg.hydra »
Topic: correspond au nom du flux sur lequel les messages vont 
être publiés 
• Par exemple : “zerg.hydra” 
Kafka élague depuis la “tête” en se basant sur 
l'âge ou la taille maximale or la « clé » 
Kafka topic 
Broker(s) 
Concepts élémentaires 
Topics 
Nouv. 
Producteur A1 
Producteur A2 
… 
Producteur An 
Les producteurs ajoutent toujours à la fin du de la file 
(penser à l'ajout dans un fichier) 
… 
anciens messages Nouveaux messages
Les consommateurs emploient un « pointeur de lecture » 
( “offset pointer”) pour tracer et contrôler là où il en est 
(et décide Consommateur groupe C2 du rythme de consommation) 
Kafka topic 
Broker(s) 
Concepts élémentaires 
Topics 
Nouv. 
Producteur A1 
Producteur A2 
… 
Producteur An 
… 
Consommateur groupe C1 
anciens messages Nouveaux messages
Concepts élémentaires 
Message 
Protocole léger 
Traitement des messages par lot (Producteur & Consommateur) 
Compression de bout en bout 
taille 
Version 
Message 
Checksum 
Payload
Concepts élémentaires 
Partitions 
Les partitions 
– Ordonnées 
– Séquence immuable 
– Le nombre de 
partitions 
détermine le 
nombre maximum de 
(groupes de) 
consommateurs
Concepts élémentaires 
partition offsets 
● A chaque message est 
attribué un « id » 
unique et trié 
appelé « offset ». 
Les consommateurs 
déplacent leur 
pointeur via la 
combinaison (offset, 
partition, topic) 
Consommateur groupe 1
Concepts élémentaires 
réplicas 
● Uniformément distribués 
● « sauvegarde » des partitions 
● Existent uniquement pour éviter les pertes de 
données 
● Si numReplicas == 3 alors 2 brokers peuvent tomber 
logs 
ttooppiicc11--ppaarrtt11 
broker 1 
logs 
ttooppiicc11--ppaarrtt22 
ttooppiicc22--ppaarrtt22 
broker 2 
logs 
ttooppiicc22--ppaarrtt11 
ttooppiicc11--ppaarrtt11 
broker 3 
logs 
ttooppiicc11--ppaarrtt22 
broker 4 
ttooppiicc22--ppaarrtt22 ttooppiicc11--ppaarrtt11 ttooppiicc11--ppaarrtt22 
ttooppiicc22--ppaarrtt11 
ttooppiicc22--ppaarrtt22 
ttooppiicc22--ppaarrtt11
Concepts élémentaires 
réplicas 
Flux de réplication 
broker 1 
Producteur 
leader 
follower 
broker 2 
follower 
broker 3 
4 
2 
2 
3 
commit 
Accusé de réception 
ttooppiicc11--ppaarrtt11 ttooppiicc11--ppaarrtt11 ttooppiicc11--ppaarrtt11 
Consommateur 
1 
Type de « Récepton Accusé » par 
le Producteur ? 
Latence Durabilité en cas de faille 
Pas d'accusé de récepton Pas de retard réseau qlq données perdues 
Attente de l'électon du leader 1 aller-retour du réseau Peu de données perdues 
Attente de validaton (commit) 2 allers-retours du réseau Pas de perte de données 
Seules les donnés validées sont présentées au consommateur
Concepts élémentaires 
réplicas 
Flux de réplication 
follower 
follower 
ttooppiicc33--ppaarrtt11 
Producteur 
broker 1 broker 2 
follower 
follower 
follower 
ttooppiicc33--ppaarrtt11 
broker 3 
leader 
ttooppiicc11--ppaarrtt11 
ttooppiicc11--ppaarrtt11 
ttooppiicc11--ppaarrtt11 
follower 
ttooppiicc33--ppaarrtt11 
broker 4 
leader 
Producteur 
ttooppiicc22--ppaarrtt11 
Producteur 
leader 
ttooppiicc22--ppaarrtt11 
ttooppiicc22--ppaarrtt11 
http://kafka.apache.org/documentation.html#replication
Concepts élémentaires 
Producteurs 
Publier des messages dans Kafka 
– C'est assez simple 
– Vous pouvez aussi directement agréger vos traces 
Log4J 
– Liste complète des exemples 
https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+Produce 
r+Example
Concepts élémentaires 
Producteurs 
API 
– ProducerType (sync/async) 
– CompressionCodec (none/snappy/gzip) 
– BatchSize 
– EnqueueSize/Time 
– Encoder/Serializer 
– Partitioner 
– #Retries 
– MaxMessageSize 
– …
Concepts élémentaires 
Consommateurs 
Possibilité d'utiliser un consommateur pour publier dans Kafka 
Les consommateurs sont responsables de vérifier où ils en sont 
dans leur lecture 
Il y a une API simple, et une autre bien plus performante 
– High-level (consumer group, auto-commit) 
– Low-level (simple consumer, manual commit)
Concepts élémentaires 
Consommateurs 
API
Agenda 
Introduction 
Apache Kafka, qu'est-ce que c'est ? 
Concepts élémentaires 
Topics, partitions, replicas, offsets 
Producteurs, brokers, consommateurs 
Écosystème
Écosystème 
Intégration 
Consommateur 
• Java (in standard dist) 
• Scala (in standard dist) 
• Python: kafka-python 
• Python: samsa 
• Python: brod 
• Go: Sarama 
• Go: nuance 
• Go: kafka.go 
• C/C++: libkafka 
• Clojure: clj-kafka 
• Clojure: kafka-clj 
• Ruby: Poseidon 
• Ruby: kafka-rb 
• Ruby: Kafkaesque 
• Jruby::Kafka 
• PHP: kafka-php(1) 
• PHP: kafka-php(2) 
• Node.js: Prozess 
• Node.js: node-kafka 
• Node.js: franz-kafka 
• Erlang: erlkafka 
• Erlang: kafka-erlang 
Producteurs 
• Java (in standard dist) 
• Scala (in standard dist) 
• Log4j (in standard dist) 
• Logback: logback-kafka 
• Udp-kafka-bridge 
• Python: kafka-python 
• Python: pykafka 
• Python: samsa 
• Python: pykafkap 
• Python: brod 
• Go: Sarama 
• Go: kafka.go 
• C: librdkafka 
• C/C++: libkafka 
• Clojure: clj-kafka 
• Clojure: kafka-clj 
• Ruby: Poseidon 
• Ruby: kafka-rb 
• Ruby: em-kafka 
• PHP: kafka-php(1) 
• PHP: kafka-php(2) 
• PHP: log4php 
• Node.js: Prozess 
• Node.js: node-kafka 
• Node.js: franz-kafka 
• Erlang: erlkafka
Écosystème 
Intégration 
Intégratons connues 
Stream Processing 
Storm - A stream-processing framework. 
Samza - A YARN-based stream processing framework 
Spark 
Hadoop Integraton 
Camus - LinkedIn's Kafka=>HDFS pipeline. This one is 
used for all data at LinkedIn, and works great. 
Kafka Hadoop Loader A diferent take on Hadoop 
loading functionality from what is included in the main 
distribution. 
AWS Integraton 
Automated AWS deployment 
Kafka->S3 Mirroring 
Logging 
klogd - A python syslog publisher 
klogd2 - A java syslog publisher 
Tail2Kafka - A simple log tailing utility 
Fluentd plugin - Integration with Fluentd 
Flume Kafka Plugin - Integration with Flume 
Remote log viewer 
LogStash integration - Integration with LogStash and 
Fluentd 
Official logstash integration 
Metrics 
Mozilla Metrics Service - A Kafka and Protocol Bufers 
based metrics and logging system 
Ganglia Integration 
Packing and Deployment 
RPM packaging 
Debian 
packaginghtps://github.com/tomdz/kafka-deb-packagi 
ng 
Puppet integration 
Dropwizard packaging 
Misc. 
Kafka Mirror - An alternative to the built-in mirroring 
tool 
Ruby Demo App 
Apache Camel Integration 
Infobright integration
Écosystème 
Intégration 
Kafka + X pour le traitement des données 
– Storm, Spark, Samza 
– Akka Actors, Java multi-thread 
– Camus : de Kafka à Hadoop 
PPrroodduucceerr 
PPrroodduucceerr 
PPrroodduucceerr 
Kafka 
topic1 
Kafka 
topic2 
PPrroocceessss11 
PPrroocceessss11 
PPrroocceessss11 
PPrroocceessss22 
PPrroocceessss22 
PPrroocceessss22 
SSyysstteemm11 SSyysstteemm22
Écosystème 
Architecture Matérielle 
● Machines uniquement dédiées à Kafka, rien d'autre 
– 1 instance d'un broker Kafka par machine 
– 2 x 4-core Intel Xeon (ou plus) 
– 64 GB RAM (up from 24 GB) 
● Seuls 4 GB sont utilisés par le broker Kafka, les 60 GB 
restants pour page cache 
● Disques 
– RAID10 avec 14 spindles 
– Plus il y a de spindles, plus le débit du disque est 
important 
– 8x SATA drives (7200rpm) JBOD 
● Réseau 
– 1 GigE de préférence
A défaut d'un bon livre, une très bonne 
ressource pour débuter 
Apache Kafka 0.8 basic training 
http://www.slideshare.net/miguno/apache­kafka­08­basic­training­verisign
Questons
Merci ! 
Charly CLAIRMONT 
CTO 
ALTIC 
http://altic.org 
charly.clairmont@altic.org 
@egwada 
@ALtic_Buzz

Weitere ähnliche Inhalte

Was ist angesagt?

Architecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.KArchitecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.KJulien Anguenot
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Ippon
 
EBIZNEXT-RIAK
EBIZNEXT-RIAKEBIZNEXT-RIAK
EBIZNEXT-RIAKebiznext
 
Apache flink - prise en main rapide
Apache flink - prise en main rapideApache flink - prise en main rapide
Apache flink - prise en main rapideBilal Baltagi
 
Apache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésApache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésRomain Hardouin
 
Stream processing avec Apache Pulsar
Stream processing avec Apache PulsarStream processing avec Apache Pulsar
Stream processing avec Apache PulsarBruno Bonnin
 
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02Jérôme Mainaud
 
Cassandra pour les développeurs java
Cassandra pour les développeurs javaCassandra pour les développeurs java
Cassandra pour les développeurs javaJérémy Sevellec
 
Paris stormusergroup intrudocution
Paris stormusergroup intrudocutionParis stormusergroup intrudocution
Paris stormusergroup intrudocutionParis_Storm_UG
 
Big Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez ChronopostBig Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez ChronopostAlexander DEJANOVSKI
 
Introduction à Cassandra
Introduction à CassandraIntroduction à Cassandra
Introduction à CassandraVMware Tanzu
 
Datastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingDatastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingVictor Coustenoble
 
Quelles stratégies de Recherche avec Cassandra ?
Quelles stratégies de Recherche avec Cassandra ?Quelles stratégies de Recherche avec Cassandra ?
Quelles stratégies de Recherche avec Cassandra ?Victor Coustenoble
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraVictor Coustenoble
 
Meetup kafka 21 Novembre 2017
Meetup kafka 21 Novembre 2017Meetup kafka 21 Novembre 2017
Meetup kafka 21 Novembre 2017Saïd Bouras
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Louis Jacomet
 
Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Mathias Kluba
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudDataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudVictor Coustenoble
 

Was ist angesagt? (20)

Architecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.KArchitecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.K
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
 
EBIZNEXT-RIAK
EBIZNEXT-RIAKEBIZNEXT-RIAK
EBIZNEXT-RIAK
 
Apache flink - prise en main rapide
Apache flink - prise en main rapideApache flink - prise en main rapide
Apache flink - prise en main rapide
 
Apache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésApache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalités
 
Stream processing avec Apache Pulsar
Stream processing avec Apache PulsarStream processing avec Apache Pulsar
Stream processing avec Apache Pulsar
 
Devoxx France - Où sont passés mes serveurs ?
Devoxx France - Où sont passés mes serveurs ?Devoxx France - Où sont passés mes serveurs ?
Devoxx France - Où sont passés mes serveurs ?
 
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02
 
Riak introduction
Riak introductionRiak introduction
Riak introduction
 
Cassandra pour les développeurs java
Cassandra pour les développeurs javaCassandra pour les développeurs java
Cassandra pour les développeurs java
 
Paris stormusergroup intrudocution
Paris stormusergroup intrudocutionParis stormusergroup intrudocution
Paris stormusergroup intrudocution
 
Big Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez ChronopostBig Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez Chronopost
 
Introduction à Cassandra
Introduction à CassandraIntroduction à Cassandra
Introduction à Cassandra
 
Datastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingDatastax Cassandra + Spark Streaming
Datastax Cassandra + Spark Streaming
 
Quelles stratégies de Recherche avec Cassandra ?
Quelles stratégies de Recherche avec Cassandra ?Quelles stratégies de Recherche avec Cassandra ?
Quelles stratégies de Recherche avec Cassandra ?
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
 
Meetup kafka 21 Novembre 2017
Meetup kafka 21 Novembre 2017Meetup kafka 21 Novembre 2017
Meetup kafka 21 Novembre 2017
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3
 
Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudDataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le Cloud
 

Andere mochten auch

Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystemconfluent
 
ServerlessPresentation
ServerlessPresentationServerlessPresentation
ServerlessPresentationRohit Kumar
 
Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...
Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...
Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...Joe Sepi
 
Openstack taskflow 簡介
Openstack taskflow 簡介Openstack taskflow 簡介
Openstack taskflow 簡介kao kuo-tung
 
The Serverless Paradigm, OpenWhisk and FIWARE
The Serverless Paradigm, OpenWhisk and FIWAREThe Serverless Paradigm, OpenWhisk and FIWARE
The Serverless Paradigm, OpenWhisk and FIWAREAlex Glikson
 
OpenWhisk Under the Hood -- London Oct 16 2016
OpenWhisk Under the Hood -- London Oct 16 2016OpenWhisk Under the Hood -- London Oct 16 2016
OpenWhisk Under the Hood -- London Oct 16 2016Stephen Fink
 
Architecture of a Kafka camus infrastructure
Architecture of a Kafka camus infrastructureArchitecture of a Kafka camus infrastructure
Architecture of a Kafka camus infrastructuremattlieber
 
Open stack ocata summit enabling aws lambda-like functionality with openstac...
Open stack ocata summit  enabling aws lambda-like functionality with openstac...Open stack ocata summit  enabling aws lambda-like functionality with openstac...
Open stack ocata summit enabling aws lambda-like functionality with openstac...Shaun Murakami
 
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormApache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormParis_Storm_UG
 
How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...Animesh Singh
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA_es
 
AWS Lambda from the Trenches
AWS Lambda from the TrenchesAWS Lambda from the Trenches
AWS Lambda from the TrenchesYan Cui
 
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQLAnnouncing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQLAmazon Web Services
 
Building Serverless APIs on AWS
Building Serverless APIs on AWSBuilding Serverless APIs on AWS
Building Serverless APIs on AWSJulien SIMON
 

Andere mochten auch (20)

Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystem
 
kafka
kafkakafka
kafka
 
Ben Broeckx
Ben BroeckxBen Broeckx
Ben Broeckx
 
ServerlessPresentation
ServerlessPresentationServerlessPresentation
ServerlessPresentation
 
Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...
Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...
Combining OpenWhisk (serverless), Open API (swagger) and API Connect to build...
 
Openstack taskflow 簡介
Openstack taskflow 簡介Openstack taskflow 簡介
Openstack taskflow 簡介
 
The Serverless Paradigm, OpenWhisk and FIWARE
The Serverless Paradigm, OpenWhisk and FIWAREThe Serverless Paradigm, OpenWhisk and FIWARE
The Serverless Paradigm, OpenWhisk and FIWARE
 
Task flow
Task flowTask flow
Task flow
 
OpenWhisk Under the Hood -- London Oct 16 2016
OpenWhisk Under the Hood -- London Oct 16 2016OpenWhisk Under the Hood -- London Oct 16 2016
OpenWhisk Under the Hood -- London Oct 16 2016
 
Serverless Realtime Backup
Serverless Realtime BackupServerless Realtime Backup
Serverless Realtime Backup
 
[AWSKRUG&JAWS-UG Meetup #1] Serverless Real-Time Analysis
[AWSKRUG&JAWS-UG Meetup #1]  Serverless  Real-Time Analysis[AWSKRUG&JAWS-UG Meetup #1]  Serverless  Real-Time Analysis
[AWSKRUG&JAWS-UG Meetup #1] Serverless Real-Time Analysis
 
Architecture of a Kafka camus infrastructure
Architecture of a Kafka camus infrastructureArchitecture of a Kafka camus infrastructure
Architecture of a Kafka camus infrastructure
 
Open stack ocata summit enabling aws lambda-like functionality with openstac...
Open stack ocata summit  enabling aws lambda-like functionality with openstac...Open stack ocata summit  enabling aws lambda-like functionality with openstac...
Open stack ocata summit enabling aws lambda-like functionality with openstac...
 
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormApache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec Storm
 
How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...How to build an event-driven, polyglot serverless microservices framework on ...
How to build an event-driven, polyglot serverless microservices framework on ...
 
Top Legacy Sins
Top Legacy SinsTop Legacy Sins
Top Legacy Sins
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
AWS Lambda from the Trenches
AWS Lambda from the TrenchesAWS Lambda from the Trenches
AWS Lambda from the Trenches
 
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQLAnnouncing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
 
Building Serverless APIs on AWS
Building Serverless APIs on AWSBuilding Serverless APIs on AWS
Building Serverless APIs on AWS
 

Ähnlich wie Apache kafka big data track

BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQAMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQMicrosoft
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur webNoël
 
LPIC1 10 01 logs
LPIC1 10 01 logsLPIC1 10 01 logs
LPIC1 10 01 logsNoël
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxNoël
 
Traitement temps réel de flux réseaux IPFIX/Netflow avec PySpark, Kafka et Ca...
Traitement temps réel de flux réseaux IPFIX/Netflow avec PySpark, Kafka et Ca...Traitement temps réel de flux réseaux IPFIX/Netflow avec PySpark, Kafka et Ca...
Traitement temps réel de flux réseaux IPFIX/Netflow avec PySpark, Kafka et Ca...Julien Anguenot
 
3 Microsoft Advanced Threat Analytics - Genève
3   Microsoft Advanced Threat Analytics - Genève3   Microsoft Advanced Threat Analytics - Genève
3 Microsoft Advanced Threat Analytics - GenèveaOS Community
 
Tartine - Pixelle, Refonte de l’ingestion et présentation de l’architecture
Tartine - Pixelle, Refonte de l’ingestion et présentation de l’architectureTartine - Pixelle, Refonte de l’ingestion et présentation de l’architecture
Tartine - Pixelle, Refonte de l’ingestion et présentation de l’architectureconfluent
 
05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpipNoël
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsNeil Armstrong
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08Loïc Descotte
 
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]ANEO
 
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELECRetour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELECMicrosoft Technet France
 
gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !Carles Sistare
 
gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!David Caramelo
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOlivier DASINI
 

Ähnlich wie Apache kafka big data track (20)

BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQAMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 
LPIC1 10 01 logs
LPIC1 10 01 logsLPIC1 10 01 logs
LPIC1 10 01 logs
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseaux
 
Traitement temps réel de flux réseaux IPFIX/Netflow avec PySpark, Kafka et Ca...
Traitement temps réel de flux réseaux IPFIX/Netflow avec PySpark, Kafka et Ca...Traitement temps réel de flux réseaux IPFIX/Netflow avec PySpark, Kafka et Ca...
Traitement temps réel de flux réseaux IPFIX/Netflow avec PySpark, Kafka et Ca...
 
3 Microsoft Advanced Threat Analytics - Genève
3   Microsoft Advanced Threat Analytics - Genève3   Microsoft Advanced Threat Analytics - Genève
3 Microsoft Advanced Threat Analytics - Genève
 
Tartine - Pixelle, Refonte de l’ingestion et présentation de l’architecture
Tartine - Pixelle, Refonte de l’ingestion et présentation de l’architectureTartine - Pixelle, Refonte de l’ingestion et présentation de l’architecture
Tartine - Pixelle, Refonte de l’ingestion et présentation de l’architecture
 
05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server Internals
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
 
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
 
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELECRetour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
 
Openstack framework Iaas
Openstack framework IaasOpenstack framework Iaas
Openstack framework Iaas
 
gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !
 
gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!
 
REX Ansible
REX AnsibleREX Ansible
REX Ansible
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
 

Mehr von Paris Open Source Summit

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...Paris Open Source Summit
 
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...Paris Open Source Summit
 
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...Paris Open Source Summit
 
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, ArduinoParis Open Source Summit
 
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...Paris Open Source Summit
 
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...Paris Open Source Summit
 
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, ZabbixParis Open Source Summit
 
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, InriaParis Open Source Summit
 
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...Paris Open Source Summit
 
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...Paris Open Source Summit
 
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...Paris Open Source Summit
 
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...Paris Open Source Summit
 
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...Paris Open Source Summit
 
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...Paris Open Source Summit
 
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...Paris Open Source Summit
 
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...Paris Open Source Summit
 
#OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données #OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données Paris Open Source Summit
 
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...Paris Open Source Summit
 
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...Paris Open Source Summit
 
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...Paris Open Source Summit
 

Mehr von Paris Open Source Summit (20)

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
 
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
 
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
 
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
 
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
 
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
 
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
 
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
 
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
 
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
 
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
 
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
 
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
 
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
 
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
 
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
 
#OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données #OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données
 
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
 
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
 
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
 

Apache kafka big data track

  • 1. Apache Kafka Un système distribué de messagerie hautement performant Charly CLAIRMONT CTO ALTIC http://altic.org charly.clairmont@altic.org @egwada
  • 2. Petite bio Co-fondateur Altic 10 ans maintenant Un des mes premiers jobs : « mettre de l'open source à tous les étages » dans l'entreprise ! Mes technos (orientées décisionnelles mais pas que)
  • 3. Altic @Altic_Buzz Métier Informatique Décisionnelle Intégration de données Valeurs – Innovations – Open Source Une maîtrise de toute la chaîne de valeur du Big Data
  • 4. Apache Kafka Un système distribué de messagerie hautement performant tolérant aux panes
  • 5. Agenda Introduction Apache Kafka, qu'est ce que c'est ? Concepts élémentaires Topics, partitions, replicas, offsets Producteurs, brokers, consommateurs Écosystème
  • 6. Agenda Introduction Apache Kafka, qu'est ce que c'est ?
  • 7. Introduction Apache Kafka, qu'est-ce que c'est ? ● Distribué, très haut débit, système de messagerie publication / abonnement (pub-sub) – Rapide, Robuste, Scalable, Durable ● Principaux cas d'utilisation – Agrégation de logs, traitement temps réel, monitoring, files d'attente ● Développé à l'origine chez LinkedIn ● Écrit en Scala (un peu de Java) ● TLP Apache depuis 2012 ● 9 core commiteurs, en eviron 20 contributeurs ● http://kafka.apache.org
  • 8. Introduction Comparaison avec d'autres brokers 8 Kafka Messagerie file d'attente Débit faible, faible latence JMS ActiveMQ RabbitMQ Qpid Agrégateur de logs Débit très fort, forte latence Flume Hedwig Scribe Kestrel Batch jobs Traditionnels: JMS, xxxMQ/AMQP Nouvelle génération: Kestrel, Scribe, Flume, Kafka
  • 9. Introduction Performance chez LinkedIn ● Statistiques sur l'un des importants clusters Apache Kafka (aux heures de pointe): – 15 brokers – 15 500 partitions (réplication facteur 2) – En entrée ● 400 000 msg / sec. ● 70 Mo / sec. – En sortie ● 400 Mo / sec.
  • 10. Introduction Adoption de Kafka & Cas d'utilisation ● LinkedIn – flux d'activité, suivi indicateurs opérationnels, bus de données – 400 nodes, 18k topics, 220 milliards msg/day (pic 3.2 millions msg/s), Mai 2014 ● OVH : Anti-DDOS ● Netflix : Suivi temps réel, traitement temps réel ● Twitter : Composant de leur architecture temps réel, couplée à Storm ● Spotify : Traitement de log (de 4h à 10s), Hadoop ● Loggly : Collecte et traitement de log ● Mozilla : Gestion de métrique ● Airbnb, Cisco, Gnip, InfoChimps, Ooyala, Square, Uber, …
  • 11. Introduction Pourquoi Apache Kafka ? On va imaginer que vous collectez vos logs!
  • 12. Introduction Pourquoi Apache Kafka ? Jusqu'ici tout va bien !
  • 13. Introduction Pourquoi Apache Kafka ? Là ça va encore !
  • 14. Introduction Pourquoi Apache Kafka ? Mais là ? Diriez-vous la même chose ?
  • 15. Introduction Pourquoi Apache Kafka ? Je n'en suis pas si sûr !
  • 16. Introduction Pourquoi Apache Kafka ? Un bel exemple celui de Spotify. https://www.jfokus.se/jfokus14/preso/Reliable­real­time­processing­with­Kafka­and­Storm. pdf (Feb 2014)
  • 17. Introduction Pourquoi Apache Kafka est-il si rapide ? ● Écritures rapides: – Bien que Kafka persiste toutes les données sur le disque, toutes les écritures vont essentiellement « page cache » de l'OS, soit la RAM. ● Lectures rapides: – Très efficace pour transférer des données à partir du « page cache » vers une socket réseau – Linux: sendfile() appel système ● « Zéro-copy » ● Combinaison des deux = rapide Kafka! ● Compression de bout en bout
  • 18. Agenda Introduction c'est quoi Apache Kafka Concepts élémentaires Topics, partitions, offsets, réplicas producteur, brokers ,consommateurs, Ecosystème
  • 19. Concepts élémentaires Vue Globale ● Les producteurs publient des données vers les brockers. ● Les consommateurs s'abonnent et récupèrent les données depuis les brockers. ● Tous les services sont distribués ● Les données – Les données sont stockées dans des topics. – Les topics sont divisés en partitions, et sont répliqués.
  • 20. Concepts élémentaires Vue Globale « broker » = serveur Partitions : distribuées et répliquées sur les brokers (donc les serveurs) topic = « zerg.hydra »
  • 21. Topic: correspond au nom du flux sur lequel les messages vont être publiés • Par exemple : “zerg.hydra” Kafka élague depuis la “tête” en se basant sur l'âge ou la taille maximale or la « clé » Kafka topic Broker(s) Concepts élémentaires Topics Nouv. Producteur A1 Producteur A2 … Producteur An Les producteurs ajoutent toujours à la fin du de la file (penser à l'ajout dans un fichier) … anciens messages Nouveaux messages
  • 22. Les consommateurs emploient un « pointeur de lecture » ( “offset pointer”) pour tracer et contrôler là où il en est (et décide Consommateur groupe C2 du rythme de consommation) Kafka topic Broker(s) Concepts élémentaires Topics Nouv. Producteur A1 Producteur A2 … Producteur An … Consommateur groupe C1 anciens messages Nouveaux messages
  • 23. Concepts élémentaires Message Protocole léger Traitement des messages par lot (Producteur & Consommateur) Compression de bout en bout taille Version Message Checksum Payload
  • 24. Concepts élémentaires Partitions Les partitions – Ordonnées – Séquence immuable – Le nombre de partitions détermine le nombre maximum de (groupes de) consommateurs
  • 25. Concepts élémentaires partition offsets ● A chaque message est attribué un « id » unique et trié appelé « offset ». Les consommateurs déplacent leur pointeur via la combinaison (offset, partition, topic) Consommateur groupe 1
  • 26. Concepts élémentaires réplicas ● Uniformément distribués ● « sauvegarde » des partitions ● Existent uniquement pour éviter les pertes de données ● Si numReplicas == 3 alors 2 brokers peuvent tomber logs ttooppiicc11--ppaarrtt11 broker 1 logs ttooppiicc11--ppaarrtt22 ttooppiicc22--ppaarrtt22 broker 2 logs ttooppiicc22--ppaarrtt11 ttooppiicc11--ppaarrtt11 broker 3 logs ttooppiicc11--ppaarrtt22 broker 4 ttooppiicc22--ppaarrtt22 ttooppiicc11--ppaarrtt11 ttooppiicc11--ppaarrtt22 ttooppiicc22--ppaarrtt11 ttooppiicc22--ppaarrtt22 ttooppiicc22--ppaarrtt11
  • 27. Concepts élémentaires réplicas Flux de réplication broker 1 Producteur leader follower broker 2 follower broker 3 4 2 2 3 commit Accusé de réception ttooppiicc11--ppaarrtt11 ttooppiicc11--ppaarrtt11 ttooppiicc11--ppaarrtt11 Consommateur 1 Type de « Récepton Accusé » par le Producteur ? Latence Durabilité en cas de faille Pas d'accusé de récepton Pas de retard réseau qlq données perdues Attente de l'électon du leader 1 aller-retour du réseau Peu de données perdues Attente de validaton (commit) 2 allers-retours du réseau Pas de perte de données Seules les donnés validées sont présentées au consommateur
  • 28. Concepts élémentaires réplicas Flux de réplication follower follower ttooppiicc33--ppaarrtt11 Producteur broker 1 broker 2 follower follower follower ttooppiicc33--ppaarrtt11 broker 3 leader ttooppiicc11--ppaarrtt11 ttooppiicc11--ppaarrtt11 ttooppiicc11--ppaarrtt11 follower ttooppiicc33--ppaarrtt11 broker 4 leader Producteur ttooppiicc22--ppaarrtt11 Producteur leader ttooppiicc22--ppaarrtt11 ttooppiicc22--ppaarrtt11 http://kafka.apache.org/documentation.html#replication
  • 29. Concepts élémentaires Producteurs Publier des messages dans Kafka – C'est assez simple – Vous pouvez aussi directement agréger vos traces Log4J – Liste complète des exemples https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+Produce r+Example
  • 30. Concepts élémentaires Producteurs API – ProducerType (sync/async) – CompressionCodec (none/snappy/gzip) – BatchSize – EnqueueSize/Time – Encoder/Serializer – Partitioner – #Retries – MaxMessageSize – …
  • 31. Concepts élémentaires Consommateurs Possibilité d'utiliser un consommateur pour publier dans Kafka Les consommateurs sont responsables de vérifier où ils en sont dans leur lecture Il y a une API simple, et une autre bien plus performante – High-level (consumer group, auto-commit) – Low-level (simple consumer, manual commit)
  • 33. Agenda Introduction Apache Kafka, qu'est-ce que c'est ? Concepts élémentaires Topics, partitions, replicas, offsets Producteurs, brokers, consommateurs Écosystème
  • 34. Écosystème Intégration Consommateur • Java (in standard dist) • Scala (in standard dist) • Python: kafka-python • Python: samsa • Python: brod • Go: Sarama • Go: nuance • Go: kafka.go • C/C++: libkafka • Clojure: clj-kafka • Clojure: kafka-clj • Ruby: Poseidon • Ruby: kafka-rb • Ruby: Kafkaesque • Jruby::Kafka • PHP: kafka-php(1) • PHP: kafka-php(2) • Node.js: Prozess • Node.js: node-kafka • Node.js: franz-kafka • Erlang: erlkafka • Erlang: kafka-erlang Producteurs • Java (in standard dist) • Scala (in standard dist) • Log4j (in standard dist) • Logback: logback-kafka • Udp-kafka-bridge • Python: kafka-python • Python: pykafka • Python: samsa • Python: pykafkap • Python: brod • Go: Sarama • Go: kafka.go • C: librdkafka • C/C++: libkafka • Clojure: clj-kafka • Clojure: kafka-clj • Ruby: Poseidon • Ruby: kafka-rb • Ruby: em-kafka • PHP: kafka-php(1) • PHP: kafka-php(2) • PHP: log4php • Node.js: Prozess • Node.js: node-kafka • Node.js: franz-kafka • Erlang: erlkafka
  • 35. Écosystème Intégration Intégratons connues Stream Processing Storm - A stream-processing framework. Samza - A YARN-based stream processing framework Spark Hadoop Integraton Camus - LinkedIn's Kafka=>HDFS pipeline. This one is used for all data at LinkedIn, and works great. Kafka Hadoop Loader A diferent take on Hadoop loading functionality from what is included in the main distribution. AWS Integraton Automated AWS deployment Kafka->S3 Mirroring Logging klogd - A python syslog publisher klogd2 - A java syslog publisher Tail2Kafka - A simple log tailing utility Fluentd plugin - Integration with Fluentd Flume Kafka Plugin - Integration with Flume Remote log viewer LogStash integration - Integration with LogStash and Fluentd Official logstash integration Metrics Mozilla Metrics Service - A Kafka and Protocol Bufers based metrics and logging system Ganglia Integration Packing and Deployment RPM packaging Debian packaginghtps://github.com/tomdz/kafka-deb-packagi ng Puppet integration Dropwizard packaging Misc. Kafka Mirror - An alternative to the built-in mirroring tool Ruby Demo App Apache Camel Integration Infobright integration
  • 36. Écosystème Intégration Kafka + X pour le traitement des données – Storm, Spark, Samza – Akka Actors, Java multi-thread – Camus : de Kafka à Hadoop PPrroodduucceerr PPrroodduucceerr PPrroodduucceerr Kafka topic1 Kafka topic2 PPrroocceessss11 PPrroocceessss11 PPrroocceessss11 PPrroocceessss22 PPrroocceessss22 PPrroocceessss22 SSyysstteemm11 SSyysstteemm22
  • 37. Écosystème Architecture Matérielle ● Machines uniquement dédiées à Kafka, rien d'autre – 1 instance d'un broker Kafka par machine – 2 x 4-core Intel Xeon (ou plus) – 64 GB RAM (up from 24 GB) ● Seuls 4 GB sont utilisés par le broker Kafka, les 60 GB restants pour page cache ● Disques – RAID10 avec 14 spindles – Plus il y a de spindles, plus le débit du disque est important – 8x SATA drives (7200rpm) JBOD ● Réseau – 1 GigE de préférence
  • 38. A défaut d'un bon livre, une très bonne ressource pour débuter Apache Kafka 0.8 basic training http://www.slideshare.net/miguno/apache­kafka­08­basic­training­verisign
  • 40. Merci ! Charly CLAIRMONT CTO ALTIC http://altic.org charly.clairmont@altic.org @egwada @ALtic_Buzz