컨슈머 컨슈머는 카프카의 3개 중요한 컴포넌트(프로듀서, 브로커, 컨슈머) 중 하나입니다. 컨슈머의 역활은 프로듀서에서 전송한 데이터가 브로커에 적재되게 되고 해당 데이터를 가져와서 처리하는 역활을 수행합니다. 컨슈머 운영방법 컨슈머를 운영하는 방법에는 크게 2가지가 있습니다. 1개 이상의 컨슈머로 이루어진 컨슈머 그룹을 운영하는 방법 토픽의 특정 파티션만 구독하는 컨슈머를 운영하는 방법 1개 이상의 컨슈머로 이루어진 컨슈머 그룹을 운영 컨슈머를 다른 컨슈머 컨슈머 그룹으로부터 격리된 환경에서 안전하게 운영할 수 있도록 도와주는 방식입니다. 이 방법을 사용할 때 고려해야할 점은 '컨슈머 개수는 토픽의 파티션의 개수보다 같거나 작아야 한다.'입니다. 왜냐하면 컨슈머의 개수가 파티션의 개수보다 많아지면 놀고..
Kafka Producer 카프카 프로듀서는 한마디로 정의 하자면, 데이터를 카프카 클러스터로 전송하는 역활입니다. 프로듀서를 통해 특정 데이터를 카프카 클러스터로 보내 데이터 파이프라인을 시작할 수 있습니다. Kafka Producer 구성요소 Kafka Producer의 구송요소는 크게 4가지 입니다. ProducerRecord, Partitioner, Accumulator, Sender를 통해서 Kafka Producer는 카프카 클러스터에 메시지를 전송할 수 있습니다. ProducerRecord ProducerRecord는 카프카 프로듀서가 데이터를 전송할 때 사용하는 메시지 객체입니다. ProducerRecord는 topic, key, value, partition, timestamp 이렇게 5..
이번 글에서는 Kafka에 대해서 알아보려고 합니다. Kafka 카프카를 정의 보자면 대규모 메시지 처리와 스트리밍 데이터를 처리하기 위해 설계된 오픈소스 분산 스트리밍 플랫폼이다. 카프카를 왜 사용해야 하는가? 높은 처리량 : Kafka는 높은 처리량을 위해 설계되었다. Kafka는 보내고 받을 때 데이터를 묶어서 보내기 때문에 네트워크 통신 횟수를 최소한으로 줄여 같은 시간에 많은 데이터를 전송할 수 있다. 또한 동일 목적의 데이터를 병렬 처리할 수 있기 때문에 확장성 : 클러스터 확장이 용이하여 가변적인 환경에서 확장이 가능 (scale-out, scale-in) 실시간 처리 : 실시간 데이터 피드를 처리하고 전달할 수 있다. 내구성 및 신뢰성 : Kafka는 데이터를 파일 시스템에 저장한다. 페이..