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
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()
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를 실행하면 Message가 정상적으로 전달되는 것을 확인할 수 있다.
4개의 Message를 보냈고,
3개의 Message가 각각 partition0
, partition1
, partition2
의 offset=0
에 전달되었고,
1개의 Message가 partition2
의 다음 offset
인 offset=1
에 전달된 것을 볼 수 있다.
test-topic
을 확인해보면 Total available messages
가 4
인 것을 볼 수 있다.
Partition의 Last Offset
을 보면 partition2
가 2
이다.
Topic 페이지의 Topic명 아래 [View Messages]를 클릭한 뒤,
Message 조회 페이지에서 조건을 기입 후 [View Messages]를 클릭하면 Message 정보를 확인할 수 있다.