Мы рассматриваем Kafka Streams как способ решения сравнений в полете.В частности, у нас есть данные, поступающие в тему Kafka, порядка ~ 15 000 транзакций в секунду, и мы хотели бы выполнять операции сравнения с записями по мере их прохождения.Записи очень широкие (1900 столбцов или около того), но операции сравнения выполняются с очень небольшим количеством столбцов (~ 10-20).Наше окно сравнения занимает около минуты.
Сценарий будет примерно таким:
- Сообщение 1 приходит со значениями foo, bar, foobar, barfoo, 12, 34 за раз00s
- Сообщение 2 приходит со значениями foo, bat, barbat, batbar, 12, 57 во время 05s
- Сообщение 3 приходит со значениями foo, bay, barbat, baybat, 14, 19в момент времени 10 с
- Сообщение 4 приходит со значениями foo, bar, foobar, barfoo, 12, 50 в момент времени 15 с
- Сообщение 5 приходит со значениями bar, bat, barbat, batbar, 14, 18 во время 40 с
- Сообщение 6 приходит со значениями foo, bar, foobar, barfoo, 12, 36 во время 59 с
Мы хотели бы иметь возможность читать потокопределите, что все сообщения 1, 4 и 6 соответствуют нашим критериям сравнения, а затем отбросьте сообщения 1 и 6, сохранив сообщение 4.
Я нашел комментарий от Гужанга Вана в ноябре 2016 года, в котором предлагалось реализовать его через процессорAPI.Это все еще актуальный лучший подход?