Apache Kafka의 주요 구성 요소는 무엇인가요?
아파치 카프카는 여러 구성 요소로 구성된 분산 시스템입니다. 아파치 카프카의 주요 구성 요소는 다음과 같습니다:
- 토픽: 토픽은 생산자가 메시지를 보내고 소비자가 읽을 수 있는 카테고리 또는 피드 이름입니다. 토픽은 추가 전용이며 변경할 수 없습니다. 소비자는 오프셋을 사용하여 읽은 메시지를 추적할 수 있습니다.
- 브로커: 카프카 클러스터는 토픽의 메시지 저장을 관리하고 생산자와 소비자 사이의 중개자 역할을 하는 하나 이상의 브로커로 구성됩니다.
- 생산자: 데이터를 생성하여 카프카 클러스터의 하나 이상의 토픽에 게시하는 애플리케이션입니다. 이들은 토픽 내의 파티션에 이벤트가 할당되는 방식을 제어합니다.
- 소비자: 하나 이상의 토픽을 구독하고 게시된 메시지를 소비하는 애플리케이션입니다. 소비자별로 유지되는 유일한 메타데이터는 토픽에서 해당 소비자의 오프셋 또는 위치입니다. 이 오프셋은 소비자가 제어합니다.
- 파티션: Kafka는 확장성과 성능을 위해 파티션을 사용하여 토픽의 메시지를 여러 브로커로 분할합니다. 동일한 고객 식별자 또는 차량 ID와 같이 동일한 이벤트 키를 가진 이벤트는 동일한 파티션에 기록되며, 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.