Kafka

Kafka 스트림즈 DSL Queryable store

less than 1 minute read

카프카 스트림즈에서 KTable은 카프카 토픽의 데이터를 로컬의 rocksDB에 Meterialized View로 만들어 두고 사용하기 때문에 레코드의 메세지 키, 메세지 값을 기반으로 keyValueStore로 사용할 수 있다.

Kafka 멀티스레드 컨슈머

less than 1 minute read

카프카는 처리량을 늘리기 위해 파티션과 컨슈머 갯수를 늘려서 운영할 수 있다. 파티션을 여러개로 운영하는 경우 데이터를 병렬처리하기 위해서 파티션 갯수와 컨슈머 갯수를 동일하게 맞추는 것이 가장 좋은 방법이다.

Kafka 컨슈머의 안전한 종료

less than 1 minute read

컨슈머 애플리케이션은 안전하게 종료되어야 한다. 정상적으로 종료되지 않은 컨슈머는 세션 타임아웃이 발생할때까지 컨슈머 그룹에 남게된다.

Kafka Assignor

less than 1 minute read

컨슈머와 파티션 할당 정책은 컨슈머의 assignor에 의해 결정된다. 카프카에서는 RangeAssignor, RoundRobinAssignor, StickyAssignor를 제공한다. 카프카 2.5.0는 RangeAssignor가 기본값으로 설정된다.

Kafka 토픽을 생성하는 두가지 방법

less than 1 minute read

1. 첫번째는 카프카 컨슈머 또는 프로듀서가 카프카 브로커에 생성되지 않은 토픽에 대해 데이터를 요청할 때, 그리고 두번째는 커맨드 라인 툴로 명시적으로 토픽을 생성하는 것이다.

Kafka SaaS

1 minute read

1. 클라우드 서비스 - 컨플루언트 컨플루언트는 카프카에 대한 개념을 최초로 생각하고 아키텍쳐를 제안, 개발한 인물인 제이 크랩스와 그의 동료들이 설립한 회사이다. 제이 크랩스는 링크드인에서 데이터 인프라를 담당하는 아키텍트 팀장이었는데 카프카의 성장 가능성과 미래를 보고...

Kafka 클러스터

1 minute read

개요 카프카 클러스터를 실행하기 위해서는 주키퍼가 필요하다. 주키퍼의 서로 다른 znode에 클러스터를 지정하면 된다. root znode에 각 클러스터별 znode를 생성하고 클러스터 실행 시 root 가 아닌 하위 znode로 설정...

Kafka 클라이언트 메타데이터

less than 1 minute read

카프카 클라이언트는 통신하고자 하는 리더 파티션의 위치를 알기 위해 데이터를 주고(프로듀서) 받기(컨슈머) 전에 메타데이터를 브로커로부터 전달받는다. 메타데이터는 다음과 같은 옵션을 통해 리프레쉬 된다. 카프카 프로듀서 메타데이터 옵션 ...

Kafka 토픽 이름

less than 1 minute read

토픽 이름 제약 조건 빈문자열 X 마침표 1개(.) 또는 마침표 2개(..)로 생성 X 249자 이상 X 사용 가능 문자 (이외 문자 X) 영어 대소문자 숫자 0~9 ...

Kafka 레코드

1 minute read

1. 브로커에 한번 적재된 레코드는 수정할 수 없고 로그 리텐션 기간 또는 용량에 따라서만 삭제된다. 2. 레코드의 구성 timestamp - 타임스탬프 레코드의 타임스탬프는 스트림 프로세싱에서 활용하기 위한 시간을 저장하는 용도로 사용된다. 카...

Kafka 토픽과 파티션

1 minute read

1. 토픽은 카프카에서 데이터를 구분하기 위해 사용하는 단위이다. 2. 토픽은 1개 이상의 파티션을 소유하고 있다. 3. 파티션에는 프로듀서가 보낸 데이터들이 들어가 저장되는데 이 데이터를 ‘레코드(record)’라고 부른다. 4. 파티션은 자료구조에서 접하는 큐(queue)와 비...

Kafka 브로커

4 minute read

카프카 클라이언트와 데이터를 주고받기 위해 사용하는 주체인 애플리케이션이다.

Kafka 개요

less than 1 minute read

데브원영님의 카프카 강의를 바탕으로 공부한 내용을 정리하였습니다!