kafka topic은 cluster안에 있는 데이터 스트림을 뜻함데이터베이스 테이블과 유사, 하지만 제약이 없음( 원하는 모든 것을 Topic에 전송 가능, 데이터 검증이 없기 때문)A topic is identified by its name모든 종류의 메세지 포맷을
Compression can be enabled at the producer level and doesn't require any configuration change in the brokers or in the consumerscompression.type = non
Windowing lets you control how to group records that have the same key for stateful operations such as aggregations(https://docs.confluent.io/pla
As soon as an operation can possibly change the key, the stream will be marked for repartitionMapFlatMapSelectKeySo only use these APIs if you need to
Log Compaction can be a huge improvement in performance when dealing with KTables because eventually records get discarded.This means less reads to g
retry.backoff.ms 다음 재시도까지 대기 시간If retries > 0, for example retries = 2147483647, retries are bounded by a timeout.delivery.timeout.ms = 120000 (2분, 기본
KStream/KStreamKTable/KTableKStream/KTable위 세가지 조인은 코-파티셔닝 되어 있을때만 가능하다.온라인 광고를 예시로 들어 조인의 차이를 알아본다.특정 광고의 view event를 다루는 kafka topic이 있고,click event
offset.retention.minutes (브로커 설정)기본값으로 카프카는 7일의 retention 기간이 설정되어 있다.컨슈머가 7일 넘게 정지되어 있다면 읽으려는 오프셋이 무효화된다.auto.offset.reset = latest : log의 끝 부분부터 읽을
In JAVA, process of deallocating memory is handled automatically by the garbage collector.Kafka brokers as JVMs rely heavily on the garbage collector
위 테스트코드를 실행하면, 컨슈머가 null이므로 wakeup() 메소드를 실행할 수 없다고 함.테스트코드에서 addConsumerWorker() 다음으로 subConsumerWorker()를 호출했더라도, run() 메서드 내에서 컨슈머가 초기화되므로 wakeup()