SpringBoot Kafka(5)
-
Springboot Kafka Producer
10초마다 메시지를 Consumer로 전송하는 Producer 예제를 만들도록 하겠습니다. 1. 프로젝트 설정 앞선 예제와 동일하게 https://start.spring.io/ 사이트에서 springboot-kafka-producer 프로젝트를 생성해줍니다. 프로젝트 생성 후 프로젝트 구조는 아래와 같습니다. 2. 소스 코드 application.properties server.port=10001 spring.output.ansi.enabled: always bootstrap-servers=localhost:9092,localhost:9093,localhost:9094 KafkaProperties.java package com.roopy.config; import lombok.Data; import or..
2022.01.23 -
Springboot Kafka Consumer
지금까지 Zookeeper, Broker 설정 및 kafka console을 이용하여서 Producer, Conumer를 테스트해봤습니다. 이번에는 Springboot를 이용하여서 Consumer를 작성해보도록 하겠습니다. 1. 프로젝트 설정 https://start.spring.io/ 사이트에서 아래와 같이 프로젝트를 생성하여 줍니다. 프로젝트 생성 후 프로젝트 구조는 아래와 같습니다. 2. 소스 코드 application.properties spring.output.ansi.enabled: always bootstrap-servers=localhost:9092,localhost:9093,localhost:9094 bootstrap-servers는 앞에서 3개의 Broker 주소입니다. KafkaPro..
2022.01.19 -
Kafka Topic 생성 및 Producer, Consumer 테스트
본 예제 테스를 위해서는 앞에서 설명한 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 test..
2022.01.16 -
Kafka(Broker) 설치 및 설정
예제에서는 3개의 Broker에 대한 설치 및 설정에 대해 설명 하도록 하겠습니다. 다운로드 및 폴더 설정 Kafka 설치는 Window10 기준이며 버전은 2.8.1입니다. 아래의 사이트에서 프로그램을 다운로드합니다. https://kafka.apache.org/downloads Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org C:\kafka\kafkaNode1,C:\kafka\kafkaNode2,C:\kafka\kafkaNode3 폴더를 만들어 줍니다. 폴더 생성 후 압축을 푼후 kafka_2.12-2.8.1 폴더 안의 모든 파일을 kafkaNode1, kafkaNode2, kafkaNode3로 복사하여 줍니다..
2022.01.15 -
Kafka 개념
SpringBoot를 이용한 Kafka 연동 전에 우선 Kafka에 대한 개념 및 서버 설정이 먼저 일 것이다. Kafka에 가장 중요한 개념은 partiton과 replication 인거 같다. 아래의 그림은 파티션 3개, 레플리케이션 3개로 이루어진 토픽이 Broker에 할당된 모습이다. ISR은 위의 그림에 표신된 것처럼 특정 파티션의 리더, 팔로워 모든 레코드가 복제되어 sync가 맞는 상태를 의미한다. Kafka 용어 정리 Broker : 카프카 애플리케이션 서버 단위 Topic : 데이터 분리 단위. 다수 파티션 보유 Partition : 레코드를 담고 있음. 컨슈머 요청 시 레코드 전달 Offset : 각 레코드당 파티션에 할당된 고유 번호 Consumer : 레코드를 polling 하는 애..
2022.01.13