티스토리 뷰

728x90

1. 카프카의 메시지 전송과 수신을 명령어로도 가능하다. kafka-console-producer / kafka-console-consumer이다.

  1-1 아래 명령어처럼 특정 토픽에 메시지를 보낼 수 있다. acks=all 은 acks 모드를 all로 지정한다는 의미이다.

 

kafka-console-producer.bat --bootstrap-server localhost:9092 --topic first_topic --producer-property acks=all

 

  1-2 이렇게 실행하면 명령에 아래에 메시지를 입력할 수 있게 prompt가 나오게 된다.

 

 

  1-3 보낸 메시지를 수신하는 명령어는 다음과 같다.

    1-3-1 --from-beginning는 해당 토픽의 처음메시지 부터 다 수신한다. 없으면 그 시점 부터 수신한 것만 보여준다.

 

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic first_topic --from-beginning

 

    1-3-2 위의 명령을 실행해 보면 다음의 결과를 볼 수 있다.

 

 

2. consumer 그룹

  2-1 컨슈머 그룹은 파티션 개수만큼 최대수를 가질 수 있다. 이 내용은 이전 포스트 참고

 

Kafka : 기본 2

1. 용어(계속) 1-1 Consumers : 데이터를 받기를 원하는 클라이언트 1-1-1 컨슈머는 브로커가 죽어도 어떤 브로커가 리더인지 알 수 있다. 1-1-2 특정 파티션 내의 데이터의 순서는 항상 유지 된다. 1-2 Con

kogle.tistory.com

 

  2-2 컨슈머 그룹으로 묶으면 특정한 토픽을 중심으로 각 컨슈머는 다른 파티션에 연결된다.

    2-2-0 우선 토픽의 정보를 확인한다. first_topic은 아래처럼 3개의 파티션이 있음을 알 수 있다.

 

  

    2-2-1 즉 3개의 파티션과 3개의 컨슈머가 있으면 각 컨슈머는 파티션으로 각각 연결되고 컨슈머가 남으면 논다.

 

 

  2-3 연결된 3개의 컨슈머 중에 하나를 죽이면 2개의 컨슈머가 3개의 파티션에 연결되어 정보를 가져오게 된다.

 

728x90
댓글