본문 바로가기

독후감/실전 아파치 카프카

(2)
02. 카프카의 구성요소 카프카의 주요 구성 요소는 다음 5가지다. 프로듀서 : 데이터 생산자이며 브로커에 메시지를 보내는 애플리케이션 메시지 : 카프카에서 데이터를 다루는 최소 단위 브로커 : 데이터 수신 및 전달하는 서비스 컨슈머 : 브로커에게 메시지를 전달받는 애플리케이션 토픽 : 메시지를 종류별로 관리하는 스토리지. 브로커에 배치되어 관리된다. 프로듀서와 컨슈머는 특정 토픽을 지정하여 메시지를 송수신한다. 프로듀서 -> 브로커 -> 컨슈머의 흐름에서, 프로듀서 -> 브로커는 PUSH형 / 브로커 -> 컨슈머는 PULL형으로 이루어진다. PULL형의 장점은 컨슈머 고장 시 브로커에 미치는 영향이 적으며, 컨슈머의 증감에 효율적으로 대응할 수 있게 된다. 카프카의 브로커에서 분산 처리를 위한 관리 도구로 주키퍼가 필요하다. ..
01. 카프카의 개요 아파치 카프카(Apache Kafka)는 여러 대의 분산 서버에서 대량의 데이터를 처리하는 분산 메시징 시스템이다. 카프카는 대량의 데이터를 높은 처리량과 실시간으로 취급하기에 다음 4가지 특성을 가지고 있다. - 확장성 : 여러 서버로 확장(scale out) 구성할 수 있어 데이터 양에 따라 시스템 확장이 가능하다. - 영속성 : 수신한 데이터를 디스크에 유지할 수 있어 언제라도 데이터를 읽을 수 있다. - 유연성 : 연계할 수 있는 제품이 많아 제품이나 시스템을 연결하는 허브 역할을 할 수 있다. - 신뢰성 : 메시지 전달을 보증하므로 데이터 분실에 대한 걱정을 하지 않아도 된다. 링크드인에서 카프카를 발표하기 전, 카프카와 비슷한 제품이 있었지만 모두 링크드인에서 요구하는 사항에는 일치하지 않았다..