Muti Broker Kafka Cluster와 통신하는 간단한 Producer & Consumer 만들기

bradley·2022년 9월 28일
1

Kafka

목록 보기
4/5
post-thumbnail

Zookeeper 1, Broker 3 Kafka Cluster에 Message를 송수신하는 간단한 Producer와 Consumer를 만들어 본다.

Multi Broker Kafka Cluster 구축하기 (with Docker)
https://velog.io/@jskim/Multi-Broker-Kafka-Cluster-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0-with-Docker


Producer 만들기


cluster_producer.py

from kafka import KafkaProducer

brokers = ['localhost:9091', 'localhost:9092', 'localhost:9093']
topic = 'test-topic'

producer = KafkaProducer(bootstrap_servers=brokers)

producer.send(topic, b'Hello, World!')
producer.flush()

Consumer 만들기


cluster_consumer.py

from kafka import KafkaConsumer

brokers = ['localhost:9091', 'localhost:9092', 'localhost:9093']
topic = 'test-topic'

consumer = KafkaConsumer(topic, bootstrap_servers=brokers)

for message in consumer:
    print(message)

Producer & Consumer 실행하기


Producer와 Consumer를 실행하면 Message가 정상적으로 전달되는 것을 확인할 수 있다.

4개의 Message를 보냈고,
3개의 Message가 각각 partition0, partition1, partition2offset=0에 전달되었고,
1개의 Message가 partition2의 다음 offsetoffset=1에 전달된 것을 볼 수 있다.

kafdrop에서 확인하기


test-topic을 확인해보면 Total available messages4인 것을 볼 수 있다.
Partition의 Last Offset을 보면 partition22이다.

Topic 페이지의 Topic명 아래 [View Messages]를 클릭한 뒤,
Message 조회 페이지에서 조건을 기입 후 [View Messages]를 클릭하면 Message 정보를 확인할 수 있다.

profile
데이터 엔지니어링에 관심이 많은 홀로 삽질하는 느림보

0개의 댓글