아파치 카프카(Apache Kafka)는 미국의 대표적인 비즈니스 인맥 소셜네트워크 서비스인 링크드인(linkedin)에서 처음 출발한 기술로, 제이 크랩스(Jay Kreps), 니하 나케디(Neha Narkhede), 준 라오(Jun Rao) 와 함께 팀을 구성하여
카프카는 메시징 서버로 동작합니다. 여기서 메시징 시스템은 아래의 정의와 같습니다.메시징 시스템은 메시지라고 불리는 데이터 단위를 퍼블리셔(pubilsher), 프로듀서(producer)에서 카프카에 토픽(topic)이라는 각각의 메시지 저장소에 데이터를 저장하면, 서
이전 포스팅을 통해서 카프카의 동작 방식과 원리를 알아보았습니다. 기존 Pub/Sub 모델과도 다른 메시징 시스템을 구성하고 있는데 자세히 살펴보도록 하겠습니다. 💎 기존 메시징 시스템과 차별화된 카프카 카프카는 기
REFERENCE 해당 글의 모든 레퍼런스는 "카프카, 데이터 플랫폼의 최강자" (고승범, 공용준 지음) 을 알립니다. https://coupa.ng/b5xV58 "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
카프카가 고성능, 고가용성 메시징 애플리케이션으로 발전한 데는 토픽과 파티션이라는 데이터 모델의 역할이 있기 때문입니다.토픽은 메시지를 받을 수 있도록 논리적으로 묶은 개념이고, 파티션은 토픽을 구성하는 데이터 저장소로서 수평 확장이 가능한 단위입니다. 토픽은 메시지를
카프카는 분산 애플리케이션으로 서버의 물리적 장애가 발생하는 경우에도 높은 가용성을 보장합니다. 이를 위해 카프카는 리플리케이션(Replication) 기능을 제공합니다. 여기서 리플리케이션은 토픽을 하는 것이 아닌 파티션을 리플리케이션 하는 것입니다. 카프카에서는 리
이번 포스팅을 통해서 카프카의 토픽으로 메시지를 보내는 역할을 하는 프로듀서(Producer)의 주요 기능을 알아보고 주요 옵션에는 무엇이 있는지를 살펴보겠습니다.프로듀서의 주요 기능은 각각의 메시지를 토픽 파티션에 매핑하고 파티션의 리더에 요청을 보내는 것입니다. 키
이번 포스팅을 통해서 프로듀서의 옵션 중 acks 옵션을 어떻게 설정하는지에 따라서 카프카로 메시지를 전송할 때 메시지 손실 여부와 메시지 전송 속도 및 처리량 등이 달라지는지 자세히 살펴보겠습니다.메시지를 전송할 때 프로듀서는 카프카 서버에서 응답을 기다리지 않고,
이번 포스팅을 통해서 아파치 카프카의 컨슈머(Consumer)에 대해 알아보겠습니다. 여기서 컨슈머는 토픽의 메시지를 가져와서 소비(consume)하는 역할을 하는 애플리케이션, 서버 등을 지칭하여 컨슈머라 일컫습니다. 이 컨슈머의 주요 기능은 특정 파티션을 관리하고
이번 포스팅을 통해서 컨슈머(Consumer)의 파티션과 메시지 순서에 대해 알아보겠습니다.일단 파티션과 메시지 순서 메커니즘을 알아보기 위해 생성한 토픽에 파티션 수가 3이고 리플리케이션 팩터 옵션은 1로 설정 후 메시지를 전송해보겠습니다.출력을 해본 결과 a부터 순
이번 포스팅을 통해서 컨슈머 그룹에 관해서 알아보겠습니다.일반적으로 컨슈머는 카프카 토픽에서 메시지를 읽어오는 역할을 합니다. 컨슈머 그룹은 하나의 토픽에서 여러 컨슈머 그룹이 동시에 접속해 메시지를 가져올 수 있습니다. 이것은 기존의 다른 메시징 큐 솔루션에서 컨슈머
이번 포스팅을 통해서 컨슈머의 커밋과 오프셋에 대해서 알아보도록 하겠습니다.카프카가 다른 메시지 큐 솔류션과 차별화되는 특징은 하나의 토픽에 대해 여러 용도로 사용할 수 있다는 점입니다. 일반적인 큐 솔로션은 특정 컨슈머가 메시지를 가져가면 큐에서 메시지가 삭제되어 다
이번장에서는 카프카 스트림즈 API(Streams API)에 대해서 알아보겠습니다. 카프카는 대규모 메시지를 저장하고 빠르게 처리하기 위해 만들어진 플랫폼입니다. 처음에는 메시지를 다른 프로세스나 애플리케이션에 전달하기 위해 사용되었지만, 카프카의 강력한 성능으로 인