데이터 엔지니어링38 [번역] Kafka Throughput&Latency Best Practices 공식문서 출처는 아래에 있는 confluent 공식 문서입니다. 1. Optimizing for Throughput 처리량을 최적화하기 위해 producer와 consumer는 주어진 시간 내에 가능한 한 많은 데이터를 이동시켜야 한다. 높은 처리량을 얻으려면 데이터가 이동하는 속도를 최대화 해서 가장 빠른 속도로 만들어야 한다. Number of Partitions topic partition은 카프카의 병렬화 단위이다. 생산자는 병렬로 다른 파티션에 메시지를 전송하고, 병렬처리된 서로 다른 브로커를 지나, 병렬 처리된 서로 다른 컨슈머들에게 소비된다. 일반적으로 토픽 파티션이 많은수록 처리량이 증가한다. 처리량을 최대화하려면 병렬 처리된 브로커들에게 전해질 충분한 수의 파티션이 필요하다. 무작정 파티션의 수를.. 2022. 7. 29. Kafka란? (1) | 아키텍처, 핵심 개념 Kafka? 메시지 발행/구독 시스템이다. 발행된 시스템을 저장하고 중계하는 역할을 브로커(broker)가 수행한다. * 데이터를 메시지 발행자가 직접 구독자에게 보내지 않는다. 대신 발행자가 메시지를 구분해서 발행/구독 시스템에 전송하면 구독자가 특정 부류의 메시지를 구독할 수 있게 해준다. 카프카의 데이터는 지속해서 저장하고 읽을 수 있으며, 시스템 장애에 대비하고 확장에 따른 성능 저하를 방지하기 위해 데이터를 분산처리 할 수 있다. 카프카의 메시지는 토픽의 파티션에 저장되는데, 데이터를 저장할 파티션을 결정하기 위해 일관된 해시 값으로 키를 생성한다. 따라서 같은 키를 갖는 메시지는 항상 같은 파티션에 저장된다. [배치] 효율성을 위해서 여러 개의 메시지를 모아 배치 형태로 파티션에 저장하므로 네.. 2022. 3. 4. 이전 1 ··· 4 5 6 7 다음 반응형