Я на самом деле работаю в большой компании во Франции, и мы стремимся принимать журналы системного журнала (формат rfc5424) всех наших серверов (почти 1400 серверов) в Кафке через NIFI. Мы выбираем NIFI, потому что хотим перенаправлять журналы на связанные темы в зависимости от найденного имени приложения.
Так что у нас будет много маленьких потоковых файлов.
На самом деле, мы сталкиваемся с ограничениями производительности: мы не можем принимать больше 5k мсг / с, и мы хотим принимать больше 50k мсг / с. Конечно, если возможно, мы хотим обрабатывать как можно больше.
У нас есть: listenSyslog (размер пакета 1 + синтаксический анализ включен) => RouteOnAttribute (поиск для получения целевой темы из appname) => PublishKafka.
Не могли бы вы дать мне несколько советов, пожалуйста?
Я думаю об этом рабочем процессе: ListenSyslog (пакетный размер 1000 + разбор отключен) => PartitionRecord (grokreader для получения имени приложения и преобразования в avro, группировка по имени приложения) => RouteRecord (со встроенным поиском, для маршрутизации пустого имени приложения или темы не найден) => PublishKafkaRecord (я понял, что он разбивает потоковый файл с несколькими записями на 1 сообщение на запись).
Спасибо за вашу помощь.
С новым годом всех!