Kafka
-
Spring-Kafka를 이용하여 Consumer를 구현하게 되면, 보통 @KafkaListener를 많이 사용한다. @KafkaListener( topics = "testTopic1", groupId = "test-consumer-group1", concurrency = "1" ) public void test(Message message) { //... } @KafkaListener의 설정 중에 concurrency라는 설정을 알아보자. 해당 설정은 consumer의 thread 개수를 지정하는 값이다. 그렇다면, 하나의 consumer에서 동시에 여러 message를 처리할 수 있도록 thread를 늘리면 좋을 것이라는 생각이 드는데, thread 개수를 늘린다고 무조건 처리량이 좋아지는 것은 아니..
[Kafka] Spring Kafka Listener Concurrency 설정Spring-Kafka를 이용하여 Consumer를 구현하게 되면, 보통 @KafkaListener를 많이 사용한다. @KafkaListener( topics = "testTopic1", groupId = "test-consumer-group1", concurrency = "1" ) public void test(Message message) { //... } @KafkaListener의 설정 중에 concurrency라는 설정을 알아보자. 해당 설정은 consumer의 thread 개수를 지정하는 값이다. 그렇다면, 하나의 consumer에서 동시에 여러 message를 처리할 수 있도록 thread를 늘리면 좋을 것이라는 생각이 드는데, thread 개수를 늘린다고 무조건 처리량이 좋아지는 것은 아니..
2024.02.28 -
일반적으로 kafka message queue를 활용하면 아래와 같이 하나의 topic을 두고 message를 produce 하고 consume 한다. 위와 같은 경우 이외에 filtering이나 추가 로직을 중간에 두어 여러 topic을 사용하며 체이닝 하는 형식으로 kafka를 활용하기도 한다. 이러한 경우에 여러 producer, consumer를 생성해서 사용하는 것보다는 kafka stream을 활용할 수 있을것 같다 Kafka Stream Kafka Streams는 카프카에 저장된 데이터를 처리하고 분석하기 위해 개발된 자바 라이브러리 장점 카프카와 완벽한 호환 Kafka에서 공식적으로 제공되는 라이브러리 Exactly-once 처리 보장 스케쥴링 도구가 별도로 필요 없음 자체 로컬 상태 저장..
[Kafka] Kafka Stream란 ( Consumer와 비교 )일반적으로 kafka message queue를 활용하면 아래와 같이 하나의 topic을 두고 message를 produce 하고 consume 한다. 위와 같은 경우 이외에 filtering이나 추가 로직을 중간에 두어 여러 topic을 사용하며 체이닝 하는 형식으로 kafka를 활용하기도 한다. 이러한 경우에 여러 producer, consumer를 생성해서 사용하는 것보다는 kafka stream을 활용할 수 있을것 같다 Kafka Stream Kafka Streams는 카프카에 저장된 데이터를 처리하고 분석하기 위해 개발된 자바 라이브러리 장점 카프카와 완벽한 호환 Kafka에서 공식적으로 제공되는 라이브러리 Exactly-once 처리 보장 스케쥴링 도구가 별도로 필요 없음 자체 로컬 상태 저장..
2024.02.14 -
dependency 추가 implementation 'org.springframework.kafka:spring-kafka' application.yml 설정 spring: kafka: bootstrap-servers: - "127.0.0.1:9092" producer: value-serializer: org.springframework.kafka.support.serializer.JsonSerializer properties: interceptor.classes: com.test.api.config.kafka.KafkaProducerInterceptor consumer: value-deserializer: org.springframework.kafka.support.serializer.ErrorHand..
[Kafka] SpringBoot+Kafka 연동dependency 추가 implementation 'org.springframework.kafka:spring-kafka' application.yml 설정 spring: kafka: bootstrap-servers: - "127.0.0.1:9092" producer: value-serializer: org.springframework.kafka.support.serializer.JsonSerializer properties: interceptor.classes: com.test.api.config.kafka.KafkaProducerInterceptor consumer: value-deserializer: org.springframework.kafka.support.serializer.ErrorHand..
2024.01.31 -
kafka란 실시간 스트리밍 데이터를 처리하기 위한 목적으로 설계된 오픈 소스 분산형 pub-sub 메시징 플랫폼 -> 실시간 데이터를 처리할 수 있을 만큼 빠른 Message Queue Message Queue 메시지 큐는 프로그램(프로세스) 간의 데이터를 교환할 때 사용하는 기술 Broker, Zookeeper broker는 실행된 Kafka application 서버를 뜻한다 - Topic내의 Partition들을 분산, 유지 및 관리 zookeeper는 이러한 분산 메시지 큐의 정보를 관리해 주는 역할을 한다 - kafka를 띄우기 위해서는 주키퍼가 반드시 실행되어야 한다 - 3대 이상의 broker로 클러스터 구성 필요 Topic, Partion, Segment Topic은 Kafka 안에서 메..
[KAFKA] kafka 개념 및 관련 용어kafka란 실시간 스트리밍 데이터를 처리하기 위한 목적으로 설계된 오픈 소스 분산형 pub-sub 메시징 플랫폼 -> 실시간 데이터를 처리할 수 있을 만큼 빠른 Message Queue Message Queue 메시지 큐는 프로그램(프로세스) 간의 데이터를 교환할 때 사용하는 기술 Broker, Zookeeper broker는 실행된 Kafka application 서버를 뜻한다 - Topic내의 Partition들을 분산, 유지 및 관리 zookeeper는 이러한 분산 메시지 큐의 정보를 관리해 주는 역할을 한다 - kafka를 띄우기 위해서는 주키퍼가 반드시 실행되어야 한다 - 3대 이상의 broker로 클러스터 구성 필요 Topic, Partion, Segment Topic은 Kafka 안에서 메..
2023.10.11