Consumer
-
[Kafka] - 16. Kafka 설치개발/Kafka 2022. 8. 18. 16:27
Kafka의 기본 개념을 알고 있다고 가정 후 진행하였습니다. Kafka는 Apache Kafka와 Confluent Kafka 두 가지의 종류로 나뉩니다. 금일 설치할 Kafka는 Apache Kafka입니다. Apache Kafka는 Opensource 입니다. 1. Install Kafka 아래 링크를 참조하여 설치합니다. https://kafka.apache.org/downloads Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 최근 올라와 있는 kafka_2.13-3.2.1.tgz 파일을 이용하여 설치하겠습니다. WSL2 Ubuntu 환경에서 설치를 진행하였습니다. 원하는 File위치나 새로 생성하여 진..
-
[Kafka] - 17. Docker-compose Kafka 개발환경 구축 및 테스트개발/Kafka 2022. 8. 11. 17:34
1. Docker 설치 Docker부터 설치하여 줍니다. ( 설치 방법은 Docker Category에서 확인하시면 됩니다. ) $ docker -v # Docker version 20.10.17, build 100c701 $ docker-compose -v # Docker Compose version v2.6.1 Docker를 기본으로 하기 때문에 중간에 이해가 안되시면 Docker 개념부터 보시는 것을 추천합니다. 2. Zookeeper, Broker Container 설치 및 실행 이론에서 배운 바와 같이 Zookeeper가 실행 한 후에 Kafka를 실행시켜주어야 합니다. ( 이에 따라 Broker에는 depends_on parameter 추가 참고 ) Zookeeper1,2,3은 12181번 /..
-
[Kafka] - 6. Replication개발/Kafka 2022. 8. 4. 18:31
Broker에 장애 발생 시? 장애가 발생한 Broker의 Partition들은 모두 사용할 수 없는 문제 발생 대안? 다른 Broker들에게 Partition을 만든다 하지만, 기존 Message(data)와 Offset 정보는 어떻게 처리해야할까? 라는 의문 발생 Replication Partition을 Replication하여 다른 Broker에 replicas(복제물)을 미리 만들어 대비한다. 즉, Leader(원본)와 Follower(복제물)을 만들어 구성한다. Client(Producer/Consumer)는 Leader에게서만 Write, Read 처리 할 수 있다. Follower는 Broker의 장애 시 안정성을 제공하기 위한 존재이다. Follower는 Leader의 Commit log(..
-
[Kafka] - 5. Consumer개발/Kafka 2022. 8. 4. 17:02
Consumer 고유의 속도로 Commit log에서 순서대로 Poll(Read를 수행) Consumer Offeset Consumer가 데이터를 읽을 위치를 Commit하여 다시 읽음을 방지한다. Topic_Consumer_offset Kafka internal Topic data로, Consumer의 offset의 위치를 저장하여 둔 공간이다. 아래 그림을 보면, Group A의 초록색의 Consumer는 현재 2번까지 read를 한 뒤, 3번을 commit한다. 이러한 Offset 정보는 Topic__consumer_offset이라는 Kafka internal 공간에 저장된다. Group B에서 각 Consumer는 서로 다른 Partition의 Offset 정보를 가지고 있다. 이를 각각의 Dat..
-
[Kafka] - 2. Topic&Partition&Segment개발/Kafka 2022. 8. 3. 21:51
용어 정리 Topic Data를 최종적으로 저장하는 곳으로, 데이터를 구분하기 위한 장소 Producer Message를 Produce해서 Kafka의 Topic으로 Message를 보내는 Appication Consumer Topic의 Message를 가져와서 Consume하는 Application Consumer Group Topic Message를 사용하기 위해 협력하는 Consumer들의 집합 하나의 Consumer들은 하나의 Consumer Group에 포함된다. Consumer Group 내에 Consumer들은 협력하여 Topic의 Message를 분산 병렬처리한다. Producer와 Consumer는 서로 알지 못한다. Procuder와 Consuner는 각각 고유의 속도로 Commit L..