confluent-kafka는 Apache Kafka를 Python에서 고성능·저지연·운영 안정성 중심으로 사용하기 위해 제공되는 공식에 가까운 Python 클라이언트 라이브러리입니다.
핵심은 C 기반 Kafka 클라이언트(librdkafka)를 Python에서 그대로 활용한다는 점입니다.
confluent-kafka는 Confluent가 유지·배포하는 librdkafka(C) 기반의 Python 바인딩으로, 대용량 스트리밍과 실서비스 운영에 최적화된 Kafka 클라이언트입니다.
Python 코드
↓ (Python binding)
confluent-kafka
↓
librdkafka (C)
↓
Kafka Broker Cluster
poll() 모델| 구분 | kafka-python | confluent-kafka |
|---|---|---|
| 구현 | 순수 Python | C(librdkafka) + Python |
| 성능 | 보통 | 매우 높음 |
| 지연 | 변동 큼 | 낮고 안정적 |
| 운영 | 소규모 적합 | 실서비스 적합 |
| 리밸런싱 | 상대적 불안 | 안정적 |
| 표준성 | Pythonic | Kafka 표준에 가까움 |
from confluent_kafka import Producer
p = Producer({"bootstrap.servers": "localhost:9092"})
p.produce("reviews", value=b"great concert")
p.flush()
from confluent_kafka import Consumer
c = Consumer({
"bootstrap.servers": "localhost:9092",
"group.id": "ai-consumer",
"auto.offset.reset": "earliest"
})
c.subscribe(["reviews"])
while True:
msg = c.poll(1.0)
if msg and not msg.error():
print(msg.value())