Kafka Stream의 전체 흐름 Kafka Streams는 전체적으로 다음 순서대로 동작한다. poll : KafkaConsumer를 이용해 Broker에서 메세지를 가져옴. process : 가져온 메세지를 처리함. commit : 처리 완료한 후, Broker에게 처리 완료 Commit함. 이번 포스팅에서는 poll을 했을 때 어떻게 데이터를 가져오고, 이 데이터는 어디에 저장되어 Process를 할 수 있게 되는지를 살펴보고자 한다. Kafka Streams가 토픽에서 메세지를 가져오는 방법 위의 과정이 Kafka Streams가 토픽에서 메세지를 가져오는 방법이다. 간략히 정리하면 다음과 같다. KafkaStreams Server는 메세지를 가져올 것을 Stream Thread에게 명령한다. ..
이 글은 Kafka Streams In Action을 공부하며 작성한 글입니다. 들어가기 전 이전 장에서는 토폴로지를 만들었지만, 스트림에서 변환과 작업이 전혀 없는 상태였다. 스트림마다 개별 트랜잭션으로 생각했었고, 각 트랜잭션을 Join해서 데이터를 더 풍부하게 만들 생각을 하지 못했다. 이번 포스팅에서는 State(상태)라는 것을 이용하려고 한다. 또한 Join을 이용해서 데이터를 더 풍부하게 만드는 부분도 접근하고자 한다. 4.1 이벤트와 스트림 이벤트 카프카에서 이벤트는 끊임없이 발생하는 메세지와 동일하다. 주식을 예로 들면 다음과 같다. 10:00 : A 사의 주식을 10000주 구매 10:10 : A 사의 주식을 1000주 구매 10:20 : A 사의 주식을 100주 구매 다음과 같이 시간에..