Share to: share facebook share twitter share wa share telegram print page

Apache Kafka

Apache Kafka est un projet à code source ouvert d'agent de messages développé par l'Apache Software Foundation et écrit en Scala. Le projet vise à fournir un système unifié, en temps réel à latence faible pour la manipulation de flux de données. Sa conception est fortement influencée par les journaux de transactions[3].

Histoire

Apache Kafka a été initialement développé par LinkedIn et son code a été ouvert début 2011[4]. Le projet intègre l'incubateur Apache Incubator le . En , plusieurs ingénieurs créateurs de Kafka chez LinkedIn créent une nouvelle société nommée Confluent[5] avec pour axe le logiciel Kafka.

Les entreprises qui utilisent Kafka

Voici une liste d'entreprises notables qui ont utilisé ou utilisent Kafka :

Applications

Kafka est utilisé principalement pour la mise en place de « data pipeline » temps réel mais ce n'est pas sa seule application possible dans le monde de l'entreprise. Il est aussi de plus en plus utilisé dans les architectures micro services comme système d’échange, dans la supervision temps réel et dans l’IOT[18]. Kafka apporte sa capacité à ingérer et diffuser une grande quantité de données, couplé à un framework de data stream processing, il permet le traitement complexe et en temps réel des données.

Architecture

Kafka comprend cinq API de base :

  • Producer API permet aux applications d'envoyer des flux de données aux topics du cluster Kafka.
  • Consumer API permet aux applications de lire des flux de données à partir des topics du cluster Kafka.
  • Streams API permet de transformer des flux de données en topic de sortie.
  • Connect API permet d'implémenter des connecteurs qui récupèrent les données d'un système source ou d'une application vers Kafka ou qui poussent de Kafka vers une application.
  • AdminClient API permet de gérer et d'inspecter les topics, les brokers, et les autres objets Kafka.

Kafka Streams

Kafka Streams est une bibliothèque client pour la construction d'applications et de microservices, où les données d'entrée et de sortie sont stockées dans des clusters Kafka.

Kafka Connect

Notes et références

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Apache Kafka » (voir la liste des auteurs).
  1. « https://github.com/kafka-dev/kafka/commit/e8540b6b090fad4cbe5bfc9b78be35bc3b1ad2b6 » (consulté le )
  2. « Release 3.8.0 », (consulté le )
  3. The Log: What every software engineer should know about real-time data's unifying abstraction, LinkedIn Engineering Blog, accessed 5 May 2014
  4. (en-US) « Open-sourcing Kafka, LinkedIn's distributed message queue », sur blog.linkedin.com (consulté le )
  5. Primack, Dan.
  6. Doyung Yoon.
  7. Cheolsoo Park and Ashwin Shankar.
  8. Josh Baer.
  9. "Stream Processing in Uber".
  10. "Shopify - Sarama is a Go library for Apache Kafka".
  11. "Exchange Market Data Streaming with Kafka".
  12. "Présentation de l'utilisation de Kafka pour gérer les éventements sur le site Meetic"
  13. (en) « - OVHcloud Blog », sur OVHcloud Blog (consulté le ).
  14. (en) « Apache Kafka », sur Apache Kafka (consulté le ).
  15. https://medium.com/leboncoin-engineering-blog/cooling-down-hot-data-from-kafka-to-athena-5918a628bd98
  16. (en) « Criteo Kafka Meetup : key learnings », sur Criteo Engineering, (consulté le ).
  17. "Michelin utilise Confluent pour gérer ses stocks en temps réel à grande échelle".
  18. « Kafka, pierre angulaire des architectures Fast Data ? », sur Nexworld, (consulté le )

Articles connexes

Liens externes

Kembali kehalaman sebelumnya