Производитель Kafka с регулируемым количеством сообщений в секунду

Каков наилучший способ написать производителя Apache Kafka с устойчивой, но регулируемой производительностью.

Пример: производитель должен посылать брокеру постоянные 1000 сообщений в секунду. Во время выполнения выходной сигнал должен быть настроен на 10 или 10000 сообщений / сек.

Один из подходов состоит в том, чтобы настроить планировщик, который запускается каждую секунду и пакетно отправляет предварительно определенное количество сообщений.

Дополнение: поскольку этот производитель должен быть частью среды тестирования производительности, количество сообщений, которые необходимо отправить, довольно велико. Как бы кто-то справился с очень высокими нагрузками? Было бы выгодно использовать Akka для этого?

Целевым языком является Scala, но пример кода на любом языке очень приветствуется.

1 ответ

В Java это может быть реализовано с помощью RateLimiter guava в вашем коде производителя, где вы можете определить скорость, с которой производитель может создавать сообщения для брокера kafka.

Другие вопросы по тегам