Как публиковать сообщения в реальном времени на тему GCP pubsub из рабочего процесса NiFi
Контекст:
У меня есть несколько приложений, которые публикуют сообщения в реальном времени в очередях Enterprise Kafka и Solace. Объем и скорость сообщений значительны. Эти сообщения используются модулями обработки сообщений и сохраняют их в реальном времени в хранилище данных, размещенном в помещении на данный момент. мы планируем перенести модули обработки сообщений и хранилище данных в реальном времени на GCP.
Постановка задачи:
Поскольку модули обработки сообщений и хранилище данных в режиме реального времени перемещаются в GCP, возникает необходимость публиковать / отправлять сообщения из " локальных тем Kafka и очередей Solace в темы GCP Pubsub ".
Для этого я планировал написать рабочий процесс NiFi на локальном кластере NiFi. Было бы замечательно, если бы кто-то поделился мыслями, если уже сделал подобную попытку?
Пожалуйста, сообщите, если требуется дополнительная информация.
Я не мог найти подобный вопрос, уже размещенный здесь, если это любезно.
Заранее спасибо!
1 ответ
Я кратко работал с Kafka и GCP PubSub. Я мало работал с Solace, но, насколько я знаю, вам, возможно, придется немного изменить код на nifi-hms-bundle
настроить службу контроллера JMS, чтобы иметь стандартную фабрику соединений JMS JNDI, после чего вы можете использовать NiFi ConsumeJMS
а также PublishJMS
процессор для чтения / записи в / из очередей Solace.
В общем, ваш поток будет выглядеть так:
- У тебя есть
ConsumeKafka
настроен на правильную тему иConsumeJMS
настроен на использование пользовательскихJNDIConnectionFactoryProvider
вместо встроенногоJMSConnectionFactoryProvider
, - Подключите
success
выход обоих этих процессоров и связать его сPublishGCPPubSub
,
Я бы порекомендовал использовать записи на основе ConsumeKafka
процессоры. Выберите процессор математической версии Kafka API.