카프카 명령어
-
10. 카프카 명령어(Command)BackEnd/Kafka 2021. 11. 14. 08:55
윈도우(windows) 환경에서 카프카 명령어 실행은 설치폴더\bin\windows 하위의 bat 파일을 사용하고, 맥(Mac) 환경에서 카프카 명령어 실행은 설치폴더\bin 하위의 sh 파일을 사용합니다. kafka-topics 토픽이란 카프카에서 데이터를 구분하는 가장 기본적인 개념입니다. 마치 RDBMS(relational database management system)에서 사용하는 테이블과 유사하다고 볼 수 있습니다. 토픽에는 파티션(partition)이 존재하는데 파티션의 개수는 최소 1개부터 시작합니다. 토픽을 생성하는 상황은 크게 2가지가 있습니다. 첫 번째는 카프카 컨슈머 또는 프로듀서가 카프카 브로커에 생성되지 않은 토픽에 대해 데이터를 요청할 때, 그리고 두 번째는 커맨드 라인 툴로 ..
-
05. 카프카 컨슈머(Kafka Consumer)BackEnd/Kafka 2021. 11. 4. 21:10
프로듀서가 전송한 데이터는 카프카 브로커에 적재됩니다. 컨슈머는 적재된 데이터를 사용하기 위해 브로커로부터 데이터를 가져와서 필요한 처리를 합니다. 컨슈머 그룹으로 묶인 컨슈머가 토픽을 구독해서 데이터를 가져갈 때, 1개의 파티션은 최대 1개의 컨슈머에 할당 가능합니다. 그리고 1개 컨슈머는 여러 개의 파티션에 할당될 수 있습니다. 이러한 특징으로 컨슈머 그룹의 컨슈머 개수는 가져가고자 하는 토픽의 파티션 개수보다 같거나 작아야 합니다. 컨슈머 그룹의 컨슈머에 장애가 발생하면 장애가 발생한 컨슈머에 할당된 파티션은 장애가 발생하지 않은 컨슈머에 소유권이 넘어갑니다. 이러한 과정을 '리밸런싱(rebalancing)'이라고 합니다. 리밸런싱은 컨슈머가 데이터를 처리하는 도중에 언제든지 발생할 수 있으므로 데..