A partir du passage fourni, liste les principales API de Kafka. Les séparer par une virgule.
From the passage provided, list the major APIs in Kafka. Separate them with a comma.
Producer API, Consumer API, Connector API, Streams API, Admin API
Producer API, Consumer API, Connector API, Streams API, Admin API
information_extraction
Kafka stocke des messages clé-valeur provenant d'un nombre arbitraire de processus appelés producteurs. Les données peuvent être divisées en différentes "partitions" au sein de différents "sujets". Au sein d'une partition, les messages sont strictement ordonnés en fonction de leurs décalages (la position d'un message au sein d'une partition), indexés et stockés avec un horodatage. D'autres processus appelés "consommateurs" peuvent lire les messages des partitions. Pour le traitement des flux, Kafka propose l'API Streams qui permet d'écrire des applications Java qui consomment les données de Kafka et écrivent les résultats vers Kafka. Apache Kafka fonctionne également avec des systèmes de traitement de flux externes tels qu'Apache Apex, Apache Beam, Apache Flink, Apache Spark, Apache Storm et Apache NiFi.

Kafka fonctionne sur une grappe d'un ou plusieurs serveurs (appelés brokers), et les partitions de tous les sujets sont réparties entre les nœuds de la grappe. En outre, les partitions sont répliquées sur plusieurs brokers. Cette architecture permet à Kafka de fournir des flux massifs de messages de manière tolérante aux pannes et lui a permis de remplacer certains systèmes de messagerie conventionnels tels que Java Message Service (JMS), Advanced Message Queuing Protocol (AMQP), etc. Depuis la version 0.11.0.0, Kafka propose des écritures transactionnelles, qui permettent un traitement des flux à l'identique à l'aide de l'API Streams.

Kafka prend en charge deux types de sujets : Les sujets réguliers et les sujets compactés. Les sujets réguliers peuvent être configurés avec une durée de conservation ou une limite d'espace. Si des enregistrements sont plus anciens que la durée de conservation spécifiée ou si la limite d'espace est dépassée pour une partition, Kafka est autorisé à supprimer les anciennes données pour libérer de l'espace de stockage. Par défaut, les thèmes sont configurés avec une durée de conservation de 7 jours, mais il est également possible de stocker les données indéfiniment. Pour les sujets compactés, les enregistrements n'expirent pas en fonction de limites de temps ou d'espace. Au lieu de cela, Kafka traite les messages ultérieurs comme des mises à jour de messages plus anciens avec la même clé et garantit de ne jamais supprimer le dernier message par clé. Les utilisateurs peuvent supprimer entièrement des messages en écrivant un message dit "tombstone" avec une valeur nulle pour une clé spécifique.

Kafka comporte cinq API principales :

Producer API - Permet à une application de publier des flux d'enregistrements.
API consommateur - Permet à une application de s'abonner à des sujets et de traiter des flux d'enregistrements.
Connecteur API - Exécute les API de production et de consommation réutilisables qui peuvent relier les thèmes aux applications existantes.
API de flux - Cette API convertit les flux d'entrée en sortie et produit le résultat.
API d'administration - Utilisée pour gérer les thèmes Kafka, les courtiers et d'autres objets Kafka.
Les API de consommateur et de producteur sont découplées de la fonctionnalité principale de Kafka grâce à un protocole de messagerie sous-jacent. Cela permet d'écrire des couches d'API compatibles dans n'importe quel langage de programmation qui sont aussi efficaces que les API Java fournies avec Kafka. Le projet Apache Kafka tient à jour une liste de ces API tierces.
fr