Kafka Topic 생성 및 Producer, Consumer 테스트

2022. 1. 16. 00:34SpringBoot Kafka

반응형

본 예제 테스를 위해서는 앞에서 설명한 Zookeeper와 Kafa서버가 실행되어 있어야 합니다.

지금까지 Zookeeper, Kafka 설치 및 설정을 완료 하였습니다.

현재까지 설정에 대한 확인을 위하여서 Topic 생성 후 Producer와 Consumer 테스트를 해보도록 하겠습니다.

 

Topic 생성

testTopic 생성을 위해서 C:\kafka\kafkaNode1 폴더로 이동한다.

 

testTopic 생성

.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --create --topic testTopic --partitions 3 --replication-factor 3

testTopic 생성 확인

.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --describe --topic testTopic

 

아래의 이미지는 testTopic 생성 후 생성 확인을 한 결과이다.

testTopic 생성 결과

메세지 전송 테스트

→ 첫 번째 Consumer를 실행하여 준다.

Consumer 실행

Consumer 가 정상적으로 실행되었는지 확인한다.

Consumer 실행 확인

위의 그림에서 보면 CUSTOMER-ID 가 3개의 파티션도 동일한 것을 확인할 수 있다. 하지만 앞으로 2개의 Consumer를 더 실행하게 될 때마다 ID가 변경될 것이다.

 

Producer 실행 후 메시지를 전송하여서 첫 번째 Consumer에 메시지가 전송되었는지를 확인한다.

메세지 전송 결과

위의 그림에서 보면 Producer에서 1이라는 메시지를 전송했을 때 Consumer에서 1을 정상적으로 받은 것을 확인할 수 있다.

 

→ 두 번째 Consumer를 실행하여 준다.

Consumer 실행
Cosumer 실행 확인

 

Producer 메시지 입력 후 첫 번째, 두 번째 Consumer에 메시지가 전송되었는지를 확인한다.

메세지 전송 결과

Producer에서 2,3을 입력 후 Consumer를 확인해보면 첫 번째 Consumer에서 2 두 번째 Consumer에서 3을 전송받은 것을 확인할 수 있다. 

 

→ 세 번째 Consumer를 실행하여 준다.

Consumer 실행
Consumer 실행 확인

Producer 메시지 입력 후 첫 번째, 두 번째 Consumer에 메시지가 전송되었는지를 확인한다.

메세지 전송 결과

Producer에서 4,5,7을 입력 후 Consumer를 확인해보면 첫 번째 Consumer에서 7 두 번째 Consumer에서 4 세 번째 Consumer에서 5를 전송받은 것을 확인할 수 있다. 

 

Consumer의 메시지 수신은 Round-Robin 방식으로 이루어진다.

 

지금까지 Zookeepr, Kafka(Broker) 설정 및 메시지 전송 수신에 대해 알아보았습니다.

다음에는 Spring Boot를 이용한 Producer와 Consumer 예제를 작성하도록 하겠습니다.

반응형

'SpringBoot Kafka' 카테고리의 다른 글

Springboot Kafka Producer  (0) 2022.01.23
Springboot Kafka Consumer  (0) 2022.01.19
Kafka(Broker) 설치 및 설정  (0) 2022.01.15
Kafka 개념  (0) 2022.01.13