- сами данные, второй - некий enrichment (user-id), связаны guid-ом
- нужно брать сообщения из первого потока, дополнять их данными из второго потока и вставлять во внешнюю базу для отчетов и тд
- потоки данных рассинхронизированы, и сообщения могут приезжать с дрифтом около 30-60 сек в любую сторону
- иногда enrichment для guid-а во второй поток может не приехать (это нормально), в этом случае надо подождать 1 минуту и просто забить user-id=0 и вставить сообщение в базу
я думал сделать все через Kafka Streams, но не совсем понимаю, можно ли обработать как-то нормально случай с таймаутом (когда сообщение во втором потоке не пришло). Подходит ли Kafka Streams для решения данной задачи? И если да, то как примерно имплементировать ситуацию с таймаутом, которую я описал?
Можно держать окно открытое в течение 30-60 мин
Обсуждают сегодня