Quels sont les principaux composants d'Apache Kafka ?
What are the main components of Apache Kafka?
Apache Kafka is a distributed system that is composed of several components. The main components of Apache Kafka are:
- Topics: A topic is a category or feed name to which producers can send messages and read by consumers. It’s append-only and immutable. Consumers can use an offset to track read messages.
- Brokers: A Kafka cluster is composed of one or more brokers that manage the storage of messages in topics and serve as intermediaries between producers and consumers.
- Producers: Applications that produce data and publish it to one or more topics in a Kafka cluster. They control how events are assigned to partitions within a topic.
- Consumers: Applications that subscribe to one or more topics and consume published messages. The only metadata retained on a per-consumer basis is the offset or position of that consumer in a topic. This offset is controlled by the consumer.
- Partitions: Kafka uses partitions to split a topic's messages across multiple brokers for scalability and performance. Events with the same event key, such as the same customer identifier or vehicle ID, are written to the same partition, and Kafka guarantees that any consumer of a given topic partition will always read that partition’s events in exactly the same order as they were written.
- Replication: Multiple brokers always have a copy of the data to guarantee high availability and fault tolerance. This replication is performed at the topic partition level.
Apache Kafka est un système distribué composé de plusieurs éléments. Les principaux composants d'Apache Kafka sont les suivants :
- Les sujets : Un topic est une catégorie ou un nom de flux auquel les producteurs peuvent envoyer des messages qui seront lus par les consommateurs. Il n'y a que des appendices et il est immuable. Les consommateurs peuvent utiliser un offset pour suivre les messages lus.
- Courtiers : Un cluster Kafka est composé d'un ou plusieurs courtiers qui gèrent le stockage des messages dans les topics et servent d'intermédiaires entre les producteurs et les consommateurs.
- Producteurs : Applications qui produisent des données et les publient dans un ou plusieurs thèmes d'un cluster Kafka. Ils contrôlent la manière dont les événements sont assignés aux partitions d'un sujet.
- Consommateurs : Applications qui s'abonnent à un ou plusieurs sujets et consomment les messages publiés. Les seules métadonnées conservées pour chaque consommateur sont le décalage ou la position de ce consommateur dans un thème. Ce décalage est contrôlé par le consommateur.
- Partitions : Kafka utilise des partitions pour répartir les messages d'un thème entre plusieurs courtiers afin de garantir l'évolutivité et les performances. Les événements ayant la même clé d'événement, comme le même identifiant de client ou de véhicule, sont écrits dans la même partition, et Kafka garantit que tout consommateur d'une partition de sujet donnée lira toujours les événements de cette partition exactement dans le même ordre que celui dans lequel ils ont été écrits.
- Réplication : Plusieurs courtiers disposent toujours d'une copie des données afin de garantir une haute disponibilité et une tolérance aux pannes. Cette réplication est effectuée au niveau de la partition du sujet.
general_qa
fr