Производитель Kafka с регулируемым количеством сообщений в секунду
Каков наилучший способ написать производителя Apache Kafka с устойчивой, но регулируемой производительностью.
Пример: производитель должен посылать брокеру постоянные 1000 сообщений в секунду. Во время выполнения выходной сигнал должен быть настроен на 10 или 10000 сообщений / сек.
Один из подходов состоит в том, чтобы настроить планировщик, который запускается каждую секунду и пакетно отправляет предварительно определенное количество сообщений.
Дополнение: поскольку этот производитель должен быть частью среды тестирования производительности, количество сообщений, которые необходимо отправить, довольно велико. Как бы кто-то справился с очень высокими нагрузками? Было бы выгодно использовать Akka для этого?
Целевым языком является Scala, но пример кода на любом языке очень приветствуется.
1 ответ
В Java это может быть реализовано с помощью RateLimiter guava в вашем коде производителя, где вы можете определить скорость, с которой производитель может создавать сообщения для брокера kafka.