¿Cuáles son los principales componentes de 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 es un sistema distribuido formado por varios componentes. Los principales componentes de Apache Kafka son:
- Temas: Un tema es una categoría o nombre de fuente al que los productores pueden enviar mensajes y que los consumidores pueden leer. Es sólo apéndice e inmutable. Los consumidores pueden utilizar un desplazamiento para rastrear los mensajes leídos.
- Intermediarios: Un clúster Kafka se compone de uno o varios brokers que gestionan el almacenamiento de mensajes en temas y sirven de intermediarios entre productores y consumidores.
- Productores: Aplicaciones que producen datos y los publican en uno o varios temas de un cluster Kafka. Controlan cómo se asignan los eventos a las particiones dentro de un tema.
- Consumidores: Aplicaciones que se suscriben a uno o más temas y consumen los mensajes publicados. Los únicos metadatos que se conservan por consumidor son el desplazamiento o posición de ese consumidor en un tema. Este desplazamiento lo controla el consumidor.
- Particiones: Kafka utiliza particiones para dividir los mensajes de un tema entre varios intermediarios para mejorar la escalabilidad y el rendimiento. Los eventos con la misma clave de evento, como el mismo identificador de cliente o de vehículo, se escriben en la misma partición, y Kafka garantiza que cualquier consumidor de una partición de tema determinada leerá siempre los eventos de esa partición exactamente en el mismo orden en que fueron escritos.
- Replicación: Varios intermediarios tienen siempre una copia de los datos para garantizar una alta disponibilidad y tolerancia a fallos. Esta replicación se realiza a nivel de partición temática.
general_qa
es