login
Home / Papers / Kafka Consumer Group Autoscaler

Kafka Consumer Group Autoscaler

2 Citations2022
Diogo Landau, Xavier Andrade, Jorge G. Barbosa
ArXiv

This work model the problem of determining the required number of consumers, and the partition-consumer assignments, as a variable item size bin packing variant, and proposes the R-score metric to account for these rebalancing costs.

Abstract

—Message brokers enable asynchronous communi- cation between data producers and consumers in distributed environments by assigning messages to ordered queues. Message broker systems often provide with mechanisms to parallelize tasks between consumers to increase the rate at which data is consumed. The consumption rate must exceed the production rate or queues would grow indefinitely. Still, consumers are costly and their number should be minimized. We model the problem of determining the required number of consumers, and the partition-consumer assignments, as a variable item size bin packing variant. Data cannot be read when a queue is being migrated to another consumer. Hence, we propose the R-score metric to account for these rebalancing costs. Then, we introduce an assortment of R-score based algorithms, and compare their performance to established heuristics for the Bin Packing Problem for this application. We instantiate our method within an existing system, demonstrating its effectiveness. Our approach guarantees adequate consumption rates – something the previous system was unable to – at lower operational costs.