Optimizing Message Transfers in Distributed Messaging Systems through Topic and Partition Management
Beomjun Nam, Youngwoo Kwon · 한국통신학회논문지 · 2024
스트림 데이터의 처리 기술이 중요시되면서 대용량, 대규모의 데이터를 빠르고 손실 없이 전송하기 위해 Apache Kafka, RabbitMQ 그리고 ActiveMQ 등 많은 메시징 시스템이 사용되고 있다. Apache Kafka는 대표적인 분산 메시징 시스템이며, 실시간으로 생성되는 데이터를 빠르게 전달하는데, 장점이 있는 시스템이다. Apache Kafka의 구성요소 중 Topic은 Broker의 하위에 구성되며 Partition 개수가 다른 여러 개의 Topic으로 구성될 수 있다. Topic을 구성하는 Partition의 개수가 증가하게 되면 높은 처리 속도를 보여주지만 무분별하게 Partition의 개수를 증가시킴에 따른 문제점도 발생한다. 본 논문에서는 Topic을 구성할 때, 사용자의 목표 처리량에 맞는 Partition 개수로 Topic을 구성해야 하는 이유와 목표 처리량에 맞는 Partition 개수를 제안할 수 있는 실험에 대해 소개하고 Partition 개수를 최소한으로 사용하면서 목표 처리량에 맞는 Partition 개수를 제안하는 방법을 소개한다.