kafka
-
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..
-
Json을 통한 Kafka ObjectId에 대한 처리프로그래밍 2024. 10. 21. 18:00
흔히 Kafka 처리 시에 ObjectId에 대한 처리로 혼선이 올 수 있다. 이번에는 Json Serialize와 Deserialize시에 ObjectId 오류를 피하고 처리하는 방법에 대해 알아보자. 먼저 해야할 일은 ObjectIdConverter를 만드는 일이다. 아래의 코드를 보자. public class ObjectIdConverter : JsonConverter{ public override void Write(Utf8JsonWriter writer, ObjectId value, JsonSerializerOptions options) { writer.WriteStringValue(value.ToString()); } public override ObjectI..