카프카 스트림 소개

카프카 스트림의 카프타에 저장된 메시지들을 처리하기 위해 개발된 클라이언트 라이브러리다.

카프카 스트림 API는 일반적인 자바 어플리케이션이다. 따라서, 추가적으로 설치하거나 설정해야할 것이 없다. (일반적인 카프카 컨슈머와 프로듀서들의 조합으로 스트림 처리를 한다)

스트림 처리 토폴로지

스트림 (stream)

스트림은 Kafka Streams 에서 제공하는 가장 중요한 추상화다. 지속적으로 갱신되는 데이터셋을 나타낸다.

스트림을 정렬되어 있고 다시 재생가능하며 장애에 강건한 불변 데이터 레코드들의 시퀀스이며, 여기서 데이터 레코드는 Key-Value 쌍으로 정의된다

스트림 처리 어플리케이션 (stream processing application)

스트림 처리 어플리케이션은 Kafka Streams 라이브러리를 사용하는 프로그램을 의미한다.

하나 이상의 '프로세서 토폴리지'를 통해 처리 로직을 구성하며 '프로세서 토폴로지'는 '스트림 프로세서'로 구성된 그래프다. 이 그래프는 '스트림'으로 연결되어있다.

스트림 프로세서 (stream processor)

프로세서 토폴리지의 노드다. 토폴로지의 업스트림 프로세서로부터 한번에 하나의 입력을 받아서 데이터를 변환하는 처리 단계를 나타낸다. 그리고 처리가 완료된 데이터를 하위 다운스트림으로 출력한다

소스 프로세서 (source processor)