목록Database/Kafka (7)
꾸물꾸물 졔의 개발공부
Reactive Kafka - Sender , Springboot Springboot에서 Reactive Kafka API를 구현하였다. Reactive Kafka 에서 메시지를 생성하고 소비하기 위해서는 2가지의 인터페이스를 사용한다. kafka 에 메시지 생성 : reactor.kafka.sender.KafkaSender kafka 의 메시지 jiko1456.tistory.com Springboot에서 Reactive Kafka API를 구현하였다. Reactive Kafka 에서 메시지를 생성하고 소비하기 위해서는 2가지의 인터페이스를 사용한다. kafka 에 메시지 생성 : reactor.kafka.sender.KafkaSender kafka 의 메시지 소비 : reactor.kafka.recei..
Springboot에서 Reactive Kafka API를 구현하였다. Reactive Kafka 에서 메시지를 생성하고 소비하기 위해서는 2가지의 인터페이스를 사용한다. kafka 에 메시지 생성 : reactor.kafka.sender.KafkaSender kafka 의 메시지 소비 : reactor.kafka.receiver.KafkaReceiver Reactive Kafka Sender Kafka Sender 를 사용하여, kafka (broker) 로 메시지를 보낼 수 있다. KafkaSender 는 하나의 KafkaProduer와 연결된다. SenderOptions 설정 private Map getProducerProps() { return new HashMap(){{ put(ProducerC..
Docker 컨테이너로 kafka 를 설치하였다. Kafka(4) - Kafka Docker 설치 Docker 컨테이너로 kafka 를 설치하였다. Ubuntu 20.04 LTS Docker version 20.10.21, build baeda1f docker 컨테이너에 zookeeper 까지 한번에 설치할 수 있는 https://hub.docker.com/r/bitnami/kafka 를 사용하였다. $ curl -sSL https:/ jiko1456.tistory.com docker compose 실행 후, 도커 컨테이너 확인 $ docker-compose up -d $ sudo docker ps Kafka 컨테이너 실행 $ sudo docker exec -it (docker NAMES) bash To..
Docker 컨테이너로 kafka 를 설치하였다. Ubuntu 20.04 LTS Docker version 20.10.21, build baeda1f docker 컨테이너에 zookeeper 까지 한번에 설치할 수 있는 https://hub.docker.com/r/bitnami/kafka 를 사용하였다. $ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-kafka/master/docker-compose.yml > docker-compose.yml $ docker-compose up -d docker-compose.yml ( kafka 설치 시 자동으로 작성되지만, 약간의 수정을 하였다. ) version: "2" services: ..
Kafka는 메시지를 생산하고 발송하는 Producer (프로듀서) 와 메시지를 소비, 수신하는 Consumer (컨슈머) , 프로듀서와 컨슈머 사이에서 메시지 즉, 이벤트를 중개하는 Broker (브로커) 로 구성된다. Consumer 컨슈머 카프카로부터 메시지를 가져와서 소비하는 역할을 하는 애플리케이션 또는 서버, 특정 파티션을 관리하고 있는 파티션 리더에게 메시지 가져오기를 요청한다. 역직렬화 Producer 에서 레코드를 Topic 으로 전송할 때에는 직렬화 클래스 사용 반대로, 컨슈머에서 Topic 에 저장된 레코드를 사용하기 위해선 역직렬화 클래스 StringDeserializer 사용 subscribe Consumer 가 Topic 에 저장되는 데이터를 동적으로 가지고 오기 위해서는 sub..
Kafka는 메시지를 생산하고 발송하는 Producer (프로듀서) 와 메시지를 소비, 수신하는 Consumer (컨슈머) , 프로듀서와 컨슈머 사이에서 메시지 즉, 이벤트를 중개하는 Broker (브로커) 로 구성된다. Producer 프로듀서 Kafka 의 토픽으로 메시지를 전송하는 역할 ProducerRecord : 카프카로 전송하는 실제 데이터 레코드는 토픽, 파티션, key - value , 메시지 생성시간으로 구성 특정 Topic 을 지정하여 Producer 가 Kafka 로 레코드를 전송한다. 필수 요소 : Topic, value ( 메시지 ) 선택 요소 : Partition, key, TimeStamp 프로듀서가 메시지를 브로커로 전송하는 과정 직렬화 ( Serializer ) : 전달 요..
카프카(Kafka) 란 ? Kafka는 Pub-Sub 모델의 메시지 큐이다. 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 고성능 분산 이벤트 스트리밍 플랫폼으로, 분산환경에 특화되어 있다. 카프카를 적용함으로써 모든 이벤트/데이터의 흐름을 중앙에서 관리 할 수 있다. Kafka 구성요소 Event 프로듀서와 컨슈머가 데이터를 주고 받는 단위 이벤트 , 혹은 메시지 Producer 메시지를 생성하여 카프카 클러스터에 전송한다. Batch 처리 가능 key 값을 통해, 특정 파티션으로 전송이 가능하다. Consumer 카프카 클러스터로부터 메시지를 읽어들이고, 처리한다. Batch 처리 가능 하나의 컨슈머가 여러개의 Topic 을 처리할 수 있다. 컨슈머는 컨슈머 그룹에 속한다. 하나의 ..