본문 바로가기

Kafka

(3)
Kafka Producer 이번에는 카프카 프로듀서(Producer)가 무엇인지 살펴보도록 하겠습니다. 프로듀서 클라이언트의 역할은 이름 그대로 메시지를 생성하는 일을 합니다. 이 과정을 앞서 살펴봤던 카프카의 기본 구조인 Pub-Sub 시스템에서 Publish를 담당하는 것입니다. 프로듀서 클라이언트를 통해 사용자는 메시지를 브로커를 통해 보내게 됩니다. 브로커는 카프카 클라이언트들의 요청에 응답하거나 토픽을 관리하는 등 중요 역할을 하는데요. 자세한 내용은 다른 글을 통해서 따로 설명하도록 하겠습니다. 프로듀서 클라이언트를 사용하는 방법은 여러가지가 있습니다. 우선 가장 쉽게 접근하는 방법은 kafka-console-producer라는 CLI를 이용하는 것 입니다. 여기서는 자바를 통해 프로듀서 클라이언트를 이용하는 방법에 대..
Broker, Topic, Offset, Partition 브로커(Broker)란 브로커는 카프카 서버라고도 불리웁니다. 프로듀서(Producer)가 생성한 메시지를 받아서 오프셋(Offset)을 관리하고 컨슈머(Consumer)로부터 메시지를 읽으려는 요청에 대한 응답을 하는 등의 중요 역할을 하고 있습니다. 이 브로커는 하나의 클러스터에 여러 개의 브로커를 가질 수 있습니다. 브로커의 숫자가 많아질 수록 단위 시간내의 처리량이 올라갈 수 있으므로 대용량의 데이터에도 대응할 수 있게됩니다. 카프카에서 브로커는 최소 3개를 만들 것을 권장하고 있습니다. 이는 데이터를 안전하게 보관하기 위한 최소한의 숫자라고 보시면 됩니다. 특별한 하나의 브로커가 있는데 이는 컨트롤러(Controller) 입니다. 주키퍼(Zookeeper)는 브로커들 중 하나를 컨트롤러로 선택합..
Apache Kafka란 무엇인가 카프카를 아시나요? 카프카는 독일 문학에서 유명한 작가로 체코 프라하에서 집필활동을 하던 작가입니다. 하지만 지금 제가 설명드릴건 프란츠 카프가가 아닌 메세지 퍼블리싱을 위한 프로젝트인 카프카에 대해서 입니다. 처음에는 링크드인에서 로그 메시지등을 처리하기 위해서 개발되었다가 프로젝트 팀이 Confluent라는 회사로 독립을 했고 현재는 아파치 재단에 속해 있는 프로젝트 입니다. 프로젝트 명을 카프카로 한 것은 카프카를 좋아했었고 어감이 좋아서 이름을 그렇게 만들었다고 합니다. 큰 의미는 없습니다. 그럼 본격적으로 카프카란 무엇인지 살펴보도록 하겠습니다. 카프카는 Pub-Sub(Publish-Subscribe) 시스템이라고 불리기도 합니다. Producer에서 메세지를 Publish하고 Consumer에..

반응형