Как прокладывать маршрут на основе контента с высокой производительностью? - PullRequest
0 голосов
/ 17 июня 2019

В nifi, если я слушаю Кафку из одной темы и, основываясь на логике маршрутизации, она вызывает соответствующую группу процессов.

Однако в RouteOnContent процессоре, если мы дадим регулярное выражение для проверки вхождения строки, это повлияет на производительность или как добиться хорошей производительности при маршрутизации на основе условия.

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Выполнение регулярного выражения для содержимого каждого сообщения является неэффективным подходом, подумайте, можете ли вы изменить свой подход к одному из следующих:

  • Пусть ваши продюсеры записывают необходимые метаданные в заголовок Kafkaкоторый может использовать гораздо более эффективный процессор RouteOnAttribute в NiFi.Это все еще сообщение за раз, которое имеет ограничения пропускной способности
  • Если ваши сообщения соответствуют схеме, используйте более эффективные процессоры KafkaRecord в NiFi с подходом QueryRecord, который значительно повысит пропускную способность
  • Если вы не можете изменить исходные данные и задействована логика регулярных выражений, может быть более эффективно использовать небольшое приложение Kafka Streams для разделения темы перед дальнейшей обработкой данных
0 голосов
/ 17 июня 2019

Было бы эффективнее сделать какое-то разделение на уровне KSQL / Stream Processing на разные темы и иметь чтение Nifi из разных тем?

...