[Kafka] 카프카란? 1편 – 기본편

쉬운 목차

안녕하세요. 오늘은 kafka 카프카에 대해서 서명드리겠습니다.kafka 카프카에 대해서

카프카: 대용량 실시간 메시징 시스템 이해하기

 

1. 카프카 Partition: 늘리기와 줄이기

파티션의 늘리기와 고려사항

파티션을 늘리면 처리량이 증가하지만, 파티션 수를 줄일 수 없기에 충분한 계획이 필요합니다. 또한, 파티션 수가 많아질수록 컨슈머 처리가 느려질 수 있으므로, 컨슈머 그룹의 조정도 중요합니다.

Kafka 파티션: 늘리기와 줄이기

2. 카프카 레코드 저장: 최대 기간 설정

데이터 보존 관리

카프카에서는 레코드 저장 최대 기간을 설정하여, 일정 기간 동안 데이터 용량을 저장하거나 삭제하여 데이터 보존 기간을 관리할 수 있습니다.

 

 

3. 복제(replication)와 고가용성

카프카의 복제 아키텍처Kafka 레코드 저장: 최대 기간 설정

복제를 통해 파티션의 데이터를 다수의 브로커에 저장하고, 고가용성을 보장합니다. 파티션의 복제는 브로커 중심으로 동작하며, ISR(In-Sync Replica)이 복제의 정상 여부를 확인합니다.

 

4. 카프카 Broker: 클러스터의 구성 단위

브로커 개수와 성능

replication일반적으로 3개의 브로커 단위로 구성되며, 브로커의 개수와 성능은 카프카의 전체적인 처리량과 성능에 영향을 미칩니다.

 

5. 카프카의 데이터 구조: Topic과 Partition

토픽과 파티션의 이해Kafka Broker

데이터는 토픽이라는 단위로 구성되며, 토픽은 파티션으로 나뉩니다. 파티션의 복제로 고가용성을 보장하며, 브로커가 다운되어도 데이터의 유실 없이 서비스를 계속할 수 있습니다.

6. 프로듀서와 컨슈머의 역할

Producer and Consumer

메시지 전송과 수신

프로듀서는 메시지를 보내고 ACK를 받으며, 컨슈머는 파티션의 메시지를 구독하고 처리합니다. 또한, ACK 옵션에 따라 데이터의 유실 여부와 고가용성을 조절할 수 있습니다.

 

7. 카프카 Streams 처리

실시간 데이터 처리Kafka StreamsKafka Streams

 

카프카는 스트림 처리 기능도 제공합니다. 데이터를 스트림으로 처리하고 결과를 다시 스트림으로 전달하여 실시간 데이터 처리와 분석을 지원합니다.

 

[Kafka] 카프카란? 2편 – 심화편(실습) 을 클릭하시면 다음 내용을 보실 수 있습니다.

Leave a Comment