[Kafka 개념] Kafka 브로커, 복제, ISR(In-Sync-Replica)
·
Apache Kafka/개념 정리
Kafka Broker카프카 브로커는 카프카가 설치되어 있는 서버 단위를 말한다.보통 3개 이상의 브로커로 구성하여 사용하는 것을 권장한다. 만약 파티션이 1개이고, replication이 1인 topic이 존재하며 브로커가 3대라면,브로커 3대 중 1대에 해당 토픽의 정보(데이터)가 저장된다.     Kafka Replicationreplication은 partition의 복제를 뜻한다. 만약 replication이 1이라면, partition은 1개만 존재한다는 것이고replication이 2라면, partition은 원본 1개와 복제본 1개로 총 2개가 존재한다. replication이 3이라면?? 그렇다! replication이 3이라면, partition은 원본 1개와 복제본 2개로 총 3개가 ..
[Kafka 개념] Kafka 토픽과 파티션 (2)
·
Apache Kafka/개념 정리
토픽과 파티션토픽을 삭제하면 데이터는 삭제되고 파이프라인은 중단된다. 데이터의 생명주기 한가운데에 토픽이 있다.그만큼 토픽은 카프카에서 중요한 역할을 하므로 잘 이해하고 상세 옵션들에 대해서 자세히 알 필요가 있다.   적정 파티션 개수토픽의 파티션 개수는 카프카의 성능과 관련이 있다.그렇기 때문에 토픽을 운영함에 있어 적절한 파티션 개수를 설정하고 운영하는 것이 매우 중요하다. 토픽 최초 생성 시, 파티션의 개수를 정하는 데에 고려해야 할 점은 3가지가 있다.데이터 처리량메시지 키 사용 여부브로커, 컨슈머 영향도 데이터 처리량파티션은 카프카의 병렬처리의 핵심이다. 파티션의 개수가 많아지면 많아질수록 1:1 매핑되는 컨슈머 개수가 늘어나기 때문이다.그렇기 때문에 파티션 개수를 정할 때는 해당 토픽에 필요..
[Kafka 개념] Kafka 토픽, 파티션 (1)
·
Apache Kafka/개념 정리
토픽과 파티션 그리고 레코드토픽은 카프카에서 데이터를 구분하기 위해 사용하는 단위이다.토픽은 1개 이상의 파티션을 소유하고 있으며파티션에는 프로듀서가 보낸 데이터들이 들어가 저장되는데, 이 데이터들을 '레코드(record)'라고 부른다.    토픽카프카에는 다양한 데이터가 들어갈 수 있는데, 데이터가 들어가는 공간을 토픽이라고 부른다.카프카에서는 토픽을 여러 개 생성할 수 있다. 또한 토픽은 이름을 가질 수 있는데, 무슨 데이터를 담는지 명확하게 명시하면 추후 유지 보수 시 편리하게 관리할 수 있다. 토픽은 데이터베이스의 테이블이나 파일 시스템의 폴더와 유사한 성질을 가지고 있는데,프로듀서가 토픽에 데이터를 넣게 되고 컨슈머는 데이터를 가져가게 된다.   파티션토픽안에 1개 이상으로 존재하는 파티션은 자..
[Kafka 개념] Kafka 브로커, 클러스터, 주키퍼
·
Apache Kafka/개념 정리
카프카 브로커, 클러스터, 주키퍼 카프카 브로커는 카프카 클라이언트와 데이터를 주고받기 위해 사용하는 주체이자,데이터를 분산 저장하여 장애가 발생하더라도 안전하게 사용할 수 있도록 도와주는 애플리케이션이다.  기본적으로 하나의 서버에는 한 개의 카프카 브로커 프로세스가 실행되나,데이터를 안전하게 보관하고 처리하기 위해서는 3대 이상의 브로커 서버를 1개의 클러스터로 묶어서 운영하는 것이 좋다.  카프카 클러스터로 묶인 브로커들은 프로듀서가 보낸 데이터를 안전하게분산 저장하고 복제하는 역할을 수행한다.   브로커데이터 저장, 전송프로듀서로부터 데이터를 전달받으면 카프카 브로커는 프로듀서가 요청한 토픽의 파티션에 데이터를 저장하고컨슈머가 데이터를 요청하면 파티션에 저장된 데이터를 전달한다. 프로듀서로부터 전..