Producer
-
Kafka Consumer를 조금 더 효율적으로 처리하는 방법프로그래밍 2024. 11. 13. 16:42
Kafka를 개발하다보면 consumer를 어떻게 효율적으로 처리할지 고민하게 된다. 필자는 consumer를 처리할 때 아래의 조건에 따라 개발해 보았다.1. producer에서는 사용자ID에 따라 publish하고 있다.2. consumer는 최대한 많은 처리를 해야 하고 consumer 처리에 따라 집계가 수행되어야 한다.3. 집계는 10분, 1시간, 1일, 1주, 1월이다. 먼저 producer에서 발행하는 값는 KEY가 주어진다. 즉, KEY에 따라 할당된 파티션에 순서적으로 데이터가 쌓이는 것을 보장하고 있다. 이에 따라 consumer를 생성할 때 다중 consumer를 생성할 수 있는 조건이 성립되었다. 그림은 아래와 같다. 아래의 코드를 보자. public class ParallelCo..