У нас есть запрос, касающийся потребления памяти при масштабировании kafka. Было бы очень полезно, если бы вы могли дать предложение / решение для запроса ниже.
Мы запускаем Кафку как докер-контейнер на Куберне.
Ограничение памяти в 4 ГБ настроено для POD брокера Kafka. При некоторой большой нагрузке память POD брокера Kafka достигла 4 ГБ. Поэтому мы решили вручную масштабировать реплики POD Kafka-брокера с 1 до 3. Но после масштабирования для одинаковой нагрузки каждый POD-брокер Kafka потребляет 4 ГБ памяти. Мы ожидали, что потребление памяти POD у брокера Kafka составит ~ 1,33 ГБ, поскольку мы используем 3 POD для одинакового объема загрузки.
До того, как Kafka Broker уменьшит масштаб:
1 брокер
6 тем по 1 разделу
Потребление памяти: 4 ГБ
После того, как Kafka Broker масштабирует и перебалансирует темы по всем брокерам:
3 брокера
6 тем по 1 разделу
Потребление памяти: 10 ГБ (Pod1: 2 ГБ, Pod2: 4 ГБ, Pod3: 4 ГБ)
После того, как Kafka Broker масштабирует и перебалансирует темы по всем брокерам:
3 брокера
6 тем по 3 раздела
Потребление памяти: 12 ГБ (Pod1: 4 ГБ, Pod2: 4 ГБ, Pod3: 4 ГБ)
Все развертывания тестируются с одинаковой нагрузкой. Коэффициент репликации для всех тем равен 1.
Редактировать 1
![Kafka Broker POD's Memory Utilization](https://i.stack.imgur.com/fxvKj.png)