본문 바로가기

카프카 스트림즈2

[Kafka] 아파치 카프카 기본 개념 :: 카프카 스트림즈 - 스트림즈DSL 아파치 카프카 애플리케이션 프로그래밍 with 자바 책 공부 내용 정리 스트림즈 DSL에는 레코드의 흐름을 추상화한 3가지 개념인 KStream, KTable, GolbalKTable이 있다.이 3가지 개념은 컨슈머, 프로듀셔, 프로세서 API에서는 사용되지 않고 스트림즈DSL에서만 사용되는 개념이다.KStreamKStream은 레코드의 흐름을 표현한 것으로 메세지 키와 메세지 값으로 구성되어 있다.KStream으로 데이터를 조회하면 토픽에 존재하는(또는 KStream에 존재하는) 모든 레코드가 출력된다.KStream은 컨슈머로 토픽을 구독하는 것과 동일한 선상에서 사용하는 것이라고 볼 수 있다.KTableKTable은 KStream과 다르게 메세지 키를 기준으로 묶어서 사용한다.KStream은 토픽의 .. 2024. 10. 22.
[Kafka] 아파치 카프카 기본 개념 :: 카프카 스트림즈 아파치 카프카 애플리케이션 프로그래밍 with 자바 책 공부 내용 정리카프카 스트림즈는 토픽에 적재된 데이터를 실시간으로 변환하여 다른 토픽에 적재하는 라이브러리다.카프카 스트림 데이터 처리를 위해 다양한 오픈소스 애플리케이션이 존재하지만, 스트림즈는 카프카에서 공식적으로 지원하는 라이브러리다. 자바 기반 스트림즈 애플리케이션은 카프카 클러스타와 완벽하게 호환되면서 스트림 처리에 필요한 편리한 기능들(신규 토픽 생성, 상태 저장, 데이터 조인 등)을 제공한다.보통의 빅데이터 처리에 필수적이라고 판단되었던 분산 시스템이나 스케줄링 프로그램들은 스트림즈를 운영하는 데에 불필요하다. 자바 라이브러리로 구현하는 스트림즈 애플리케이션은 JVM 위에서 하나의 프로세스로 실행되기 때문이다.스트림즈 애플리케이션은 내부.. 2024. 10. 8.