Сервис А (service-a). Определяет изменения в заданной директории и отправляет их в топик Kafka, добавляя UUID.
Сервис B (service-b). Получает строку и парсит её для получения, переданного в байтовом виде, файла. После же файл преобразуется из объекта в JSON строку и отправляется в следующий топик. При получении некорректных данных сервис отправляет данные без изменений в специальный топик. Использует для обработки и отправки kafka-stream.
Сервис C (service-c). Также получает стороку и добавляет новое поле в JSON данных. Данные для поля берутся из базы (локальной). После же объект преобразуется в JSON строку и отправляется дальше в новый топик. Использует для обработки и отправки kafka-stream.
Сервис D (service-d). Получает JSON-стороку и преобразует её в другую JSON-строку для отдачи дальше в следующий топик. Можно добавить другие параментры на выдачу, создав класс и имплементировав интерфейс ClientCpu. Предварительно в классе нужно указать поля с соответствующими JSON полями. Использует для обработки и отправки kafka-stream.
Сервис E (service-e). Получает JSON-стороку и записывает её в отдельную директорию как итог всех преобразований.