Мы настроили кластер Kafka с тремя узлами и создали тему с коэффициентом репликации 3. Мы передаем данные в этот кластер и видим, что некоторые сообщения занимают более 50 мс. При дальнейшем анализе мы обнаружили, что есть задержка в получении ответа от брокера, так как мы установили производителя.acks для всех.
При увеличении num.replica.fetchers
с 1 до 4 мы видим некоторое улучшение. Но там также на каждые 150 сообщений одно сообщение превышает 50 мс, и мы используем синхронного производителя. Но когда num.replica.fetchers
равно 1, на каждые 100 сообщений одно сообщение превышает 50 мс.
В минуту мы отправляем 500 тыс. сообщений в наш кластер.
Наша конфигурация машины:
RAM: 8 GB
Hard disk type: HDD
No. of processors: 32
Является ли это оптимизированным временем производителя кафки? Нужно ли нам настраивать какое-либо свойство, чтобы получить минимальную задержку.
Кроме того, каково наилучшее минимальное время для производства, если у нас есть producer.acks
как у всех.