네이버 D2 블로그 글을 읽고 공유합니다.
https://d2.naver.com/helloworld/7181840
카프카에서 파티션별 단일 컨슈머 스레드가 할당되는 구조이기 때문에 메시지 동시 처리량을 늘릴 수 있는 가장 쉬운 방법 중 하나는 파티션을 증가시키는 것입니다.
다만 파티션 수를 한번 늘리면 줄일 수 없다고 합니다.
파티션을 늘리는 단점
- 브로커 파일 (데이터정보, 메터정보) 시스템 리소스 사용량 증가
- 단일 브로커에 파티션 리더가 더 많이 배치되기 때문에 브로커 노드 장애 혹은 재시작으로 영향받는 범위가 넓다.
- 파티션 단위로 설정된 레플리카 수만큼 복제되므로 디스크 사용량, latency가 증가한다.
네이버에서 카프카를 활용하여 로그 관리 시스템을 운영하는데 방대한 양의 로그를 빠르게 처리하려고 파티션 수를 많이 늘렸지만, 그에따라 사이드 이펙트도 발생했다고합니다.
파티션을 늘리지 않고 동시 처리량을 늘리기 위해 Parallel Concumer라는 라이브러리를 이용하여 해결할 수 있었다고 합니다.
ReadMe에도 아주 친절하게 설명이 있고, 네이버 블로그에도 설명이 자세히 돼있습니다.
일반 Kafka Consumer와의 차이점
파티션이 한개임에도 복수 스레드를 사용하여 메시지를 동시에 처리할 수 있게된다.
728x90
반응형
'DATA > Kafka' 카테고리의 다른 글
Kafka KRaft (1) | 2024.10.27 |
---|---|
큐 vs 로그 기반 메시징 시스템 (0) | 2024.08.19 |
Redis Kafka 활용방법 (0) | 2023.08.04 |
메시징 미들웨어 Kafka, RabbitMQ (0) | 2022.06.12 |
아파치 카프카 Kafka 란? (0) | 2022.02.05 |
댓글